diff options
-rw-r--r-- | changes | 6 | ||||
-rw-r--r-- | generic/ttk/ttkNotebook.c | 7 | ||||
-rw-r--r-- | unix/tkUnixSelect.c | 7 |
3 files changed, 17 insertions, 3 deletions
@@ -7410,4 +7410,8 @@ Tk Cocoa 2.0: More drawing internals refinements (culler,walzer) 2017-08-03 (bug)[9eab54] Fix -initialdir for OSX file dialogs (gollwitzer) ---- Released 8.6.7, August 4, 2017 --- http://core.tcl.tk/tk/ for details +2017-08-08 (bug)[28d0b8] Follow ICCCM advice on X selection protocol (donchenko) + +2017-08-08 (bug)[4966ca] Scidb race in notebook tab selection (cramer) + +--- Released 8.6.7, August 9, 2017 --- http://core.tcl.tk/tk/ for details diff --git a/generic/ttk/ttkNotebook.c b/generic/ttk/ttkNotebook.c index 83d7db9..56439a6 100644 --- a/generic/ttk/ttkNotebook.c +++ b/generic/ttk/ttkNotebook.c @@ -627,9 +627,12 @@ static void SelectTab(Notebook *nb, int index) Ttk_UnmapSlave(nb->notebook.mgr, currentIndex); } - NotebookPlaceSlave(nb, index); - + /* Must be set before calling NotebookPlaceSlave(), otherwise it may + * happen that NotebookPlaceSlaves(), triggered by an interveaning + * geometry request, will swap to old index. */ nb->notebook.currentIndex = index; + + NotebookPlaceSlave(nb, index); TtkRedisplayWidget(&nb->core); TtkSendVirtualEvent(nb->core.tkwin, "NotebookTabChanged"); diff --git a/unix/tkUnixSelect.c b/unix/tkUnixSelect.c index 4bb462e..dacbd99 100644 --- a/unix/tkUnixSelect.c +++ b/unix/tkUnixSelect.c @@ -166,6 +166,13 @@ TkSelGetSelection( pendingRetrievals = &retr; /* + * Delete the property to indicate that no parameters are supplied for + * the conversion request. + */ + + XDeleteProperty(winPtr->display, retr.winPtr->window, retr.property); + + /* * Initiate the request for the selection. Note: can't use TkCurrentTime * for the time. If we do, and this application hasn't received any X * events in a long time, the current time will be way in the past and |