summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--changes6
-rw-r--r--generic/ttk/ttkNotebook.c7
-rw-r--r--unix/tkUnixSelect.c7
3 files changed, 17 insertions, 3 deletions
diff --git a/changes b/changes
index c183bb1..72cd705 100644
--- a/changes
+++ b/changes
@@ -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