diff --git a/Another-proposed-fix-for-4b555aca34-text-search-all-.patch b/Another-proposed-fix-for-4b555aca34-text-search-all-.patch deleted file mode 100644 index 4cbd7f6..0000000 --- a/Another-proposed-fix-for-4b555aca34-text-search-all-.patch +++ /dev/null @@ -1,35 +0,0 @@ -From f3ebeb35f3773b2e5523da6af25c8021816cfc06 Mon Sep 17 00:00:00 2001 -From: fvogel -Date: Mon, 15 Oct 2018 14:26:50 +0000 -Subject: [PATCH 353/693] Another proposed fix for [4b555aca34]: text search - -all hangs and eats all memory. - ---- - generic/tkText.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/generic/tkText.c b/generic/tkText.c -index d43bef6b0..715e3c045 100644 ---- a/generic/tkText.c -+++ b/generic/tkText.c -@@ -5749,11 +5749,16 @@ SearchCore( - /* - * We only need to set the matchLength once for exact searches, and we - * do it here. It is also used below as the actual pattern length, so -- * it has dual purpose. -+ * it has dual purpose. Warning: to properly advance between matches -+ * the matchLength can't be zero (which would happen when searching -+ * for an empty string). - */ - - pattern = Tcl_GetString(patObj); - matchLength = patObj->length; -+ if (matchLength == 0) { -+ matchLength = 1; -+ } - nl = strchr(pattern, '\n'); - - /* --- -2.19.1 - diff --git a/Bugfix-4966cad4d4-Now-function-NotebookPlaceSlaves-i.patch b/Bugfix-4966cad4d4-Now-function-NotebookPlaceSlaves-i.patch deleted file mode 100644 index 283b4f2..0000000 --- a/Bugfix-4966cad4d4-Now-function-NotebookPlaceSlaves-i.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 96a262ae5869d7f9875c6477cb0b23939d84ec12 Mon Sep 17 00:00:00 2001 -From: gcramer -Date: Fri, 21 Jul 2017 14:05:07 +0000 -Subject: [PATCH 030/693] Bugfix [4966cad4d4]: Now function - NotebookPlaceSlaves() in ttkNotebook.c will regard the active index. - ---- - generic/ttk/ttkNotebook.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/generic/ttk/ttkNotebook.c b/generic/ttk/ttkNotebook.c -index 83d7db9c5..437ae11a0 100644 ---- a/generic/ttk/ttkNotebook.c -+++ b/generic/ttk/ttkNotebook.c -@@ -595,8 +595,12 @@ static void NotebookPlaceSlaves(void *recordPtr) - Notebook *nb = recordPtr; - int currentIndex = nb->notebook.currentIndex; - if (currentIndex >= 0) { -+ int activeIndex = nb->notebook.activeIndex; -+ int index = (activeIndex >= 0) ? activeIndex : currentIndex; - NotebookDoLayout(nb); -- NotebookPlaceSlave(nb, currentIndex); -+ if (index >= 0) { -+ NotebookPlaceSlave(nb, index); -+ } - } - } - --- -2.19.1 - diff --git a/Crash-prevention.-Still-buggy-now-test-text-11a.22-f.patch b/Crash-prevention.-Still-buggy-now-test-text-11a.22-f.patch deleted file mode 100644 index 57c58d5..0000000 --- a/Crash-prevention.-Still-buggy-now-test-text-11a.22-f.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 87dac59f8407ba5d74e52bf223c1b9509aa679ab Mon Sep 17 00:00:00 2001 -From: dgp -Date: Fri, 16 Nov 2018 17:44:47 +0000 -Subject: [PATCH 480/693] Crash prevention. Still buggy, now test text-11a.22 - fails instead of crashing. - ---- - generic/tkText.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/generic/tkText.c b/generic/tkText.c -index 4c536a22d..a0de1d5d2 100644 ---- a/generic/tkText.c -+++ b/generic/tkText.c -@@ -5538,6 +5538,15 @@ RunAfterSyncCmd( - return; - } - -+ if (textPtr->afterSyncCmd == NULL) { -+ /* -+ * [Bug 0a9c9151b5] Probably should have idle handlers coded so that -+ * this cannot happen, but a safety check here at least prevents a -+ * crash. -+ */ -+ return; -+ } -+ - Tcl_Preserve((ClientData) textPtr->interp); - code = Tcl_EvalObjEx(textPtr->interp, textPtr->afterSyncCmd, TCL_EVAL_GLOBAL); - if (code == TCL_ERROR) { --- -2.19.1 - diff --git a/Fix-1821174fff-and-1938774fff-RenderBadPicture-inval.patch b/Fix-1821174fff-and-1938774fff-RenderBadPicture-inval.patch deleted file mode 100644 index 1f6b175..0000000 --- a/Fix-1821174fff-and-1938774fff-RenderBadPicture-inval.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 6b354b74b09729ef0b336a4c1504ed66824a4d5a Mon Sep 17 00:00:00 2001 -From: fvogel -Date: Sun, 14 Jan 2018 14:54:17 +0000 -Subject: [PATCH 108/693] Fix [1821174fff] and [1938774fff]: RenderBadPicture - (invalid Picture parameter) error returned on application exit when 'send' - was renamed to {}. Patch from Christian Werner. - ---- - unix/tkUnixRFont.c | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/unix/tkUnixRFont.c b/unix/tkUnixRFont.c -index d43ed2460..abdde7819 100644 ---- a/unix/tkUnixRFont.c -+++ b/unix/tkUnixRFont.c -@@ -388,6 +388,16 @@ FinishedWithFont( - if (fontPtr->fontset) { - FcFontSetDestroy(fontPtr->fontset); - } -+ -+ /* -+ * Synchronize with X server before dropping the error handler. -+ * This seems to catch sporadic RenderBadPicture errors on tear -+ * down of an application. -+ * -+ * See bugs [1821174fff] and [1938774fff]. -+ */ -+ XSync(fontPtr->display, False); -+ - Tk_DeleteErrorHandler(handler); - } - --- -2.19.1 - diff --git a/Fix-4b555aca34-text-search-all-hangs-and-eats-all-me.patch b/Fix-4b555aca34-text-search-all-hangs-and-eats-all-me.patch deleted file mode 100644 index d9f4095..0000000 --- a/Fix-4b555aca34-text-search-all-hangs-and-eats-all-me.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 45f12e010e97704ab8f7b6fb932ebe14c5596779 Mon Sep 17 00:00:00 2001 -From: fvogel -Date: Thu, 11 Oct 2018 20:00:40 +0000 -Subject: [PATCH 349/693] Fix [4b555aca34]: text search -all hangs and eats all - memory - ---- - generic/tkText.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/generic/tkText.c b/generic/tkText.c -index d43bef6b0..6c5262426 100644 ---- a/generic/tkText.c -+++ b/generic/tkText.c -@@ -6070,8 +6070,8 @@ SearchCore( - matchOffset = p - startOfLine; - - if (searchSpecPtr->all && -- !searchSpecPtr->foundMatchProc(lineNum, searchSpecPtr, -- lineInfo, theLine, matchOffset, matchLength)) { -+ (!searchSpecPtr->foundMatchProc(lineNum, searchSpecPtr, -+ lineInfo, theLine, matchOffset, matchLength) || (matchLength == 0)) ) { - /* - * We reached the end of the search. - */ --- -2.19.1 - diff --git a/Fix-5d991b822e-segmentation-violation-in-TclObjLooku.patch b/Fix-5d991b822e-segmentation-violation-in-TclObjLooku.patch deleted file mode 100644 index f0dd29b..0000000 --- a/Fix-5d991b822e-segmentation-violation-in-TclObjLooku.patch +++ /dev/null @@ -1,272 +0,0 @@ -From 27d00ef04f9ecbafef219105aa9dec4b54787b33 Mon Sep 17 00:00:00 2001 -From: fvogel -Date: Sun, 28 Jan 2018 19:49:55 +0000 -Subject: [PATCH 127/693] Fix [5d991b822e]: segmentation violation in - TclObjLookupVarEx. Patch from Christian Werner. - ---- - generic/tkButton.c | 30 ++++++++++++++++++++++++++++-- - generic/tkEntry.c | 17 +++++++++++++++-- - generic/tkListbox.c | 17 +++++++++++++++-- - generic/tkMenu.c | 11 +++++++++++ - generic/tkMenubutton.c | 13 +++++++++++++ - generic/tkMessage.c | 13 +++++++++++++ - generic/tkScale.c | 13 +++++++++++++ - generic/ttk/ttkTrace.c | 15 +++++++++++++-- - 8 files changed, 121 insertions(+), 8 deletions(-) - -diff --git a/generic/tkButton.c b/generic/tkButton.c -index b7e314e74..e114a5108 100644 ---- a/generic/tkButton.c -+++ b/generic/tkButton.c -@@ -1610,6 +1610,19 @@ ButtonVarProc( - const char *value; - Tcl_Obj *valuePtr; - -+ /* -+ * See ticket [5d991b82]. -+ */ -+ -+ if (butPtr->selVarNamePtr == NULL) { -+ if (!(flags & TCL_INTERP_DESTROYED)) { -+ Tcl_UntraceVar2(interp, name1, name2, -+ TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, -+ ButtonVarProc, clientData); -+ } -+ return NULL; -+ } -+ - /* - * If the variable is being unset, then just re-establish the trace unless - * the whole interpreter is going away. -@@ -1692,8 +1705,8 @@ static char * - ButtonTextVarProc( - ClientData clientData, /* Information about button. */ - Tcl_Interp *interp, /* Interpreter containing variable. */ -- const char *name1, /* Not used. */ -- const char *name2, /* Not used. */ -+ const char *name1, /* Name of variable. */ -+ const char *name2, /* Second part of variable name. */ - int flags) /* Information about what happened. */ - { - TkButton *butPtr = clientData; -@@ -1703,6 +1716,19 @@ ButtonTextVarProc( - return NULL; - } - -+ /* -+ * See ticket [5d991b82]. -+ */ -+ -+ if (butPtr->textVarNamePtr == NULL) { -+ if (!(flags & TCL_INTERP_DESTROYED)) { -+ Tcl_UntraceVar2(interp, name1, name2, -+ TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, -+ ButtonTextVarProc, clientData); -+ } -+ return NULL; -+ } -+ - /* - * If the variable is unset, then immediately recreate it unless the whole - * interpreter is going away. -diff --git a/generic/tkEntry.c b/generic/tkEntry.c -index 25774cc2f..678691fca 100644 ---- a/generic/tkEntry.c -+++ b/generic/tkEntry.c -@@ -3135,8 +3135,8 @@ static char * - EntryTextVarProc( - ClientData clientData, /* Information about button. */ - Tcl_Interp *interp, /* Interpreter containing variable. */ -- const char *name1, /* Not used. */ -- const char *name2, /* Not used. */ -+ const char *name1, /* Name of variable. */ -+ const char *name2, /* Second part of variable name. */ - int flags) /* Information about what happened. */ - { - Entry *entryPtr = clientData; -@@ -3149,6 +3149,19 @@ EntryTextVarProc( - return NULL; - } - -+ /* -+ * See ticket [5d991b82]. -+ */ -+ -+ if (entryPtr->textVarName == NULL) { -+ if (!(flags & TCL_INTERP_DESTROYED)) { -+ Tcl_UntraceVar2(interp, name1, name2, -+ TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, -+ EntryTextVarProc, clientData); -+ } -+ return NULL; -+ } -+ - /* - * If the variable is unset, then immediately recreate it unless the whole - * interpreter is going away. -diff --git a/generic/tkListbox.c b/generic/tkListbox.c -index b18a7f49f..5f650fed3 100644 ---- a/generic/tkListbox.c -+++ b/generic/tkListbox.c -@@ -3431,8 +3431,8 @@ static char * - ListboxListVarProc( - ClientData clientData, /* Information about button. */ - Tcl_Interp *interp, /* Interpreter containing variable. */ -- const char *name1, /* Not used. */ -- const char *name2, /* Not used. */ -+ const char *name1, /* Name of variable. */ -+ const char *name2, /* Second part of variable name. */ - int flags) /* Information about what happened. */ - { - Listbox *listPtr = clientData; -@@ -3440,6 +3440,19 @@ ListboxListVarProc( - int oldLength, i; - Tcl_HashEntry *entry; - -+ /* -+ * See ticket [5d991b82]. -+ */ -+ -+ if (listPtr->listVarName == NULL) { -+ if (!(flags & TCL_INTERP_DESTROYED)) { -+ Tcl_UntraceVar2(interp, name1, name2, -+ TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, -+ ListboxListVarProc, clientData); -+ } -+ return NULL; -+ } -+ - /* - * Bwah hahahaha! Puny mortal, you can't unset a -listvar'd variable! - */ -diff --git a/generic/tkMenu.c b/generic/tkMenu.c -index 42ddbd5ec..5859ac050 100644 ---- a/generic/tkMenu.c -+++ b/generic/tkMenu.c -@@ -2500,6 +2500,17 @@ MenuVarProc( - return NULL; - } - -+ /* -+ * See ticket [5d991b82]. -+ */ -+ -+ if (mePtr->namePtr == NULL) { -+ Tcl_UntraceVar2(interp, name1, name2, -+ TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, -+ MenuVarProc, clientData); -+ return NULL; -+ } -+ - name = Tcl_GetString(mePtr->namePtr); - - /* -diff --git a/generic/tkMenubutton.c b/generic/tkMenubutton.c -index 1a4d5ae6e..2c1676c60 100644 ---- a/generic/tkMenubutton.c -+++ b/generic/tkMenubutton.c -@@ -881,6 +881,19 @@ MenuButtonTextVarProc( - const char *value; - unsigned len; - -+ /* -+ * See ticket [5d991b82]. -+ */ -+ -+ if (mbPtr->textVarName == NULL) { -+ if (!(flags & TCL_INTERP_DESTROYED)) { -+ Tcl_UntraceVar2(interp, name1, name2, -+ TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, -+ MenuButtonTextVarProc, clientData); -+ } -+ return NULL; -+ } -+ - /* - * If the variable is unset, then immediately recreate it unless the whole - * interpreter is going away. -diff --git a/generic/tkMessage.c b/generic/tkMessage.c -index 2b7199875..f65b04687 100644 ---- a/generic/tkMessage.c -+++ b/generic/tkMessage.c -@@ -838,6 +838,19 @@ MessageTextVarProc( - register Message *msgPtr = clientData; - const char *value; - -+ /* -+ * See ticket [5d991b82]. -+ */ -+ -+ if (msgPtr->textVarName == NULL) { -+ if (!(flags & TCL_INTERP_DESTROYED)) { -+ Tcl_UntraceVar2(interp, name1, name2, -+ TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, -+ MessageTextVarProc, clientData); -+ } -+ return NULL; -+ } -+ - /* - * If the variable is unset, then immediately recreate it unless the whole - * interpreter is going away. -diff --git a/generic/tkScale.c b/generic/tkScale.c -index ef67630d8..af45afa73 100644 ---- a/generic/tkScale.c -+++ b/generic/tkScale.c -@@ -1192,6 +1192,19 @@ ScaleVarProc( - Tcl_Obj *valuePtr; - int result; - -+ /* -+ * See ticket [5d991b82]. -+ */ -+ -+ if (scalePtr->varNamePtr == NULL) { -+ if (!(flags & TCL_INTERP_DESTROYED)) { -+ Tcl_UntraceVar2(interp, name1, name2, -+ TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, -+ ScaleVarProc, clientData); -+ } -+ return NULL; -+ } -+ - /* - * If the variable is unset, then immediately recreate it unless the whole - * interpreter is going away. -diff --git a/generic/ttk/ttkTrace.c b/generic/ttk/ttkTrace.c -index ba66db427..e6eead2bc 100644 ---- a/generic/ttk/ttkTrace.c -+++ b/generic/ttk/ttkTrace.c -@@ -26,8 +26,8 @@ static char * - VarTraceProc( - ClientData clientData, /* Widget record pointer */ - Tcl_Interp *interp, /* Interpreter containing variable. */ -- const char *name1, /* (unused) */ -- const char *name2, /* (unused) */ -+ const char *name1, /* Name of variable. */ -+ const char *name2, /* Second part of variable name. */ - int flags) /* Information about what happened. */ - { - Ttk_TraceHandle *tracePtr = clientData; -@@ -38,6 +38,17 @@ VarTraceProc( - return NULL; - } - -+ /* -+ * See ticket [5d991b82]. -+ */ -+ -+ if (tracePtr->varnameObj == NULL) { -+ Tcl_UntraceVar2(interp, name1, name2, -+ TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS, -+ VarTraceProc, clientData); -+ return NULL; -+ } -+ - name = Tcl_GetString(tracePtr->varnameObj); - - /* --- -2.19.1 - diff --git a/More-complete-patch-from-Christian-Werner-to-fix-182.patch b/More-complete-patch-from-Christian-Werner-to-fix-182.patch deleted file mode 100644 index f0d5962..0000000 --- a/More-complete-patch-from-Christian-Werner-to-fix-182.patch +++ /dev/null @@ -1,203 +0,0 @@ -From 5e200188e783123842b45070a15096262e96f604 Mon Sep 17 00:00:00 2001 -From: fvogel -Date: Wed, 17 Jan 2018 07:18:37 +0000 -Subject: [PATCH 115/693] More complete patch from Christian Werner to fix - [1821174fff] and [1938774fff] - ---- - unix/tkUnixColor.c | 1 + - unix/tkUnixEmbed.c | 3 +++ - unix/tkUnixFocus.c | 1 + - unix/tkUnixRFont.c | 12 +++--------- - unix/tkUnixSelect.c | 3 +++ - unix/tkUnixSend.c | 1 + - unix/tkUnixWm.c | 9 +++++++-- - 7 files changed, 19 insertions(+), 11 deletions(-) - -diff --git a/unix/tkUnixColor.c b/unix/tkUnixColor.c -index 43500ad5b..b11a1ebbc 100644 ---- a/unix/tkUnixColor.c -+++ b/unix/tkUnixColor.c -@@ -94,6 +94,7 @@ TkpFreeColor( - -1, -1, -1, NULL, NULL); - XFreeColors(DisplayOfScreen(screen), tkColPtr->colormap, - &tkColPtr->color.pixel, 1, 0L); -+ XSync(DisplayOfScreen(screen), False); - Tk_DeleteErrorHandler(handler); - } - DeleteStressedCmap(DisplayOfScreen(screen), tkColPtr->colormap); -diff --git a/unix/tkUnixEmbed.c b/unix/tkUnixEmbed.c -index b170ad037..b285fbe73 100644 ---- a/unix/tkUnixEmbed.c -+++ b/unix/tkUnixEmbed.c -@@ -472,6 +472,7 @@ ContainerEventProc( - - Tk_DestroyWindow((Tk_Window) winPtr); - } -+ XSync(eventPtr->xfocus.display, False); - Tk_DeleteErrorHandler(errHandler); - } - -@@ -515,6 +516,7 @@ EmbedStructureProc( - containerPtr->wrapper, 0, 0, - (unsigned) Tk_Width((Tk_Window) containerPtr->parentPtr), - (unsigned) Tk_Height((Tk_Window) containerPtr->parentPtr)); -+ XSync(eventPtr->xfocus.display, False); - Tk_DeleteErrorHandler(errHandler); - } - } else if (eventPtr->type == DestroyNotify) { -@@ -564,6 +566,7 @@ EmbedFocusProc( - -1, -1, NULL, NULL); - XSetInputFocus(display, containerPtr->wrapper, RevertToParent, - CurrentTime); -+ XSync(eventPtr->xfocus.display, False); - Tk_DeleteErrorHandler(errHandler); - } - } -diff --git a/unix/tkUnixFocus.c b/unix/tkUnixFocus.c -index 07676181d..7f4771e9d 100644 ---- a/unix/tkUnixFocus.c -+++ b/unix/tkUnixFocus.c -@@ -112,6 +112,7 @@ TkpChangeFocus( - } - XSetInputFocus(dispPtr->display, winPtr->window, RevertToParent, - CurrentTime); -+ XSync(dispPtr->display, False); - Tk_DeleteErrorHandler(errHandler); - - /* -diff --git a/unix/tkUnixRFont.c b/unix/tkUnixRFont.c -index abdde7819..44e733944 100644 ---- a/unix/tkUnixRFont.c -+++ b/unix/tkUnixRFont.c -@@ -388,16 +388,7 @@ FinishedWithFont( - if (fontPtr->fontset) { - FcFontSetDestroy(fontPtr->fontset); - } -- -- /* -- * Synchronize with X server before dropping the error handler. -- * This seems to catch sporadic RenderBadPicture errors on tear -- * down of an application. -- * -- * See bugs [1821174fff] and [1938774fff]. -- */ - XSync(fontPtr->display, False); -- - Tk_DeleteErrorHandler(handler); - } - -@@ -885,6 +876,7 @@ Tk_DrawChars( - Tk_CreateErrorHandler(display, -1, -1, -1, NULL, NULL); - - XftDrawChange(fontPtr->ftDraw, drawable); -+ XSync(display, False); - Tk_DeleteErrorHandler(handler); - } - XGetGCValues(display, gc, GCForeground, &values); -@@ -1018,6 +1010,7 @@ TkDrawAngledChars( - Tk_CreateErrorHandler(display, -1, -1, -1, NULL, NULL); - - XftDrawChange(fontPtr->ftDraw, drawable); -+ XSync(display, False); - Tk_DeleteErrorHandler(handler); - } - -@@ -1107,6 +1100,7 @@ TkDrawAngledChars( - Tk_CreateErrorHandler(display, -1, -1, -1, NULL, NULL); - - XftDrawChange(fontPtr->ftDraw, drawable); -+ XSync(display, False); - Tk_DeleteErrorHandler(handler); - } - XGetGCValues(display, gc, GCForeground, &values); -diff --git a/unix/tkUnixSelect.c b/unix/tkUnixSelect.c -index 6d379ecc8..9313df5c0 100644 ---- a/unix/tkUnixSelect.c -+++ b/unix/tkUnixSelect.c -@@ -470,6 +470,7 @@ TkSelPropProc( - ckfree(propPtr); - } - } -+ XSync(eventPtr->xproperty.display, False); - Tk_DeleteErrorHandler(errorHandler); - - /* -@@ -1048,6 +1049,7 @@ ConvertSelection( - reply.xsel.property = incr.multAtoms[1]; - } - XSendEvent(reply.xsel.display, reply.xsel.requestor, False, 0, &reply.ev); -+ XSync(reply.xsel.display, False); - Tk_DeleteErrorHandler(errorHandler); - - /* -@@ -1066,6 +1068,7 @@ ConvertSelection( - errorHandler = Tk_CreateErrorHandler(winPtr->display, - -1, -1, -1, (int (*)()) NULL, NULL); - XSelectInput(reply.xsel.display, reply.xsel.requestor, 0L); -+ XSync(winPtr->display, False); - Tk_DeleteErrorHandler(errorHandler); - if (tsdPtr->pendingIncrs == &incr) { - tsdPtr->pendingIncrs = incr.nextPtr; -diff --git a/unix/tkUnixSend.c b/unix/tkUnixSend.c -index bbbdd774c..0322a78d5 100644 ---- a/unix/tkUnixSend.c -+++ b/unix/tkUnixSend.c -@@ -1748,6 +1748,7 @@ AppendPropCarefully( - pendingPtr); - XChangeProperty(display, window, property, XA_STRING, 8, - PropModeAppend, (unsigned char *) value, length); -+ XSync(display, False); - Tk_DeleteErrorHandler(handler); - } - -diff --git a/unix/tkUnixWm.c b/unix/tkUnixWm.c -index 19ac86cb5..31e14cb72 100644 ---- a/unix/tkUnixWm.c -+++ b/unix/tkUnixWm.c -@@ -4084,6 +4084,7 @@ ConfigureEvent( - XMoveResizeWindow(winPtr->display, winPtr->window, 0, - wmPtr->menuHeight, (unsigned) wrapperPtr->changes.width, - (unsigned) (wrapperPtr->changes.height - wmPtr->menuHeight)); -+ XSync(winPtr->display, False); - Tk_DeleteErrorHandler(handler); - if ((wmPtr->menubar != NULL) - && ((Tk_Width(wmPtr->menubar) != wrapperPtr->changes.width) -@@ -4420,10 +4421,11 @@ WrapperEventProc( - * Tk_DestroyWindow will try to destroy the window, but of course - * it's already gone. - */ -+ Display *display = wmPtr->winPtr->display; - -- handler = Tk_CreateErrorHandler(wmPtr->winPtr->display, -1, -1, -1, -- NULL, NULL); -+ handler = Tk_CreateErrorHandler(display, -1, -1, -1, NULL, NULL); - Tk_DestroyWindow((Tk_Window) wmPtr->winPtr); -+ XSync(display, False); - Tk_DeleteErrorHandler(handler); - } - if (dispPtr->flags & TK_DISPLAY_WM_TRACING) { -@@ -5846,10 +5848,12 @@ Tk_CoordsToWindow( - * deleted - */ - -+ XSync(Tk_Display(tkwin), False); - Tk_DeleteErrorHandler(handler); - return NULL; - } - if (child == None) { -+ XSync(Tk_Display(tkwin), False); - Tk_DeleteErrorHandler(handler); - return NULL; - } -@@ -5879,6 +5883,7 @@ Tk_CoordsToWindow( - * or below - */ - -+ XSync(Tk_Display(tkwin), False); - Tk_DeleteErrorHandler(handler); - handler = NULL; - } --- -2.19.1 - diff --git a/tk-8.6.10-conf.patch b/tk-8.6.10-conf.patch index e09a0b1..e8ed854 100644 --- a/tk-8.6.10-conf.patch +++ b/tk-8.6.10-conf.patch @@ -1,19 +1,25 @@ diff --git a/unix/tcl.m4 b/unix/tcl.m4 -index 0e146e4..613a276 100644 +index f3d08ec..dd75fc3 100644 --- a/unix/tcl.m4 +++ b/unix/tcl.m4 -@@ -1410,12 +1410,12 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ +@@ -1382,7 +1382,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ # get rid of the warnings. #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" - SHLIB_LD='${CC} ${CFLAGS} ${LDFLAGS} -shared' -+ SHLIB_LD='${CC} ${CFLAGS} ${LDFLAGS} -shared -Wl,-soname,${@}' ++ SHLIB_LD='${CC} ${CFLAGS} ${LDFLAGS} -shared -Wl,-soname,${@}' DL_OBJS="tclLoadDl.o" DL_LIBS="-ldl" LDFLAGS="$LDFLAGS -Wl,--export-dynamic" +@@ -1398,7 +1398,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [ + esac + AS_IF([test $doRpath = yes], [ -- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}']) -+ CC_SEARCH_FLAGS='']) +- CC_SEARCH_FLAGS='"-Wl,-rpath,${LIB_RUNTIME_DIR}"']) ++ CC_SEARCH_FLAGS='']) LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} AS_IF([test "`uname -m`" = "alpha"], [CFLAGS="$CFLAGS -mieee"]) AS_IF([test $do64bit = yes], [ +-- +2.27.0 + diff --git a/tk-8.6.7-no-fonts-fix.patch b/tk-8.6.7-no-fonts-fix.patch deleted file mode 100644 index f3e3d04..0000000 --- a/tk-8.6.7-no-fonts-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/unix/tkUnixRFont.c b/unix/tkUnixRFont.c -index cce59a8..78df47a 100644 ---- a/unix/tkUnixRFont.c -+++ b/unix/tkUnixRFont.c -@@ -271,7 +271,7 @@ InitFont( - */ - - set = FcFontSort(0, pattern, FcTrue, NULL, &result); -- if (!set) { -+ if (!set || set->nfont == 0) { - ckfree(fontPtr); - return NULL; - } diff --git a/tk.spec b/tk.spec index 16ae808..7bbbe72 100644 --- a/tk.spec +++ b/tk.spec @@ -2,13 +2,14 @@ %define epoch 1 Name: tk -Version: 8.6.10 -Release: 2 +Version: 8.6.12 +Release: 1 Summary: The graphical toolkit for the Tcl scripting language Epoch: 1 License: TCL URL: http://tcl.sourceforge.net Source0: http://download.sourceforge.net/sourceforge/tcl/%{name}%{version}-src.tar.gz + Requires: tcl = %{epoch}:%{version} glibc BuildRequires: gcc BuildRequires: tcl-devel = %{epoch}:%{version} autoconf libX11-devel libXft-devel @@ -17,18 +18,10 @@ Conflicts: itcl <= 3.2 Obsoletes: tile <= 0.8.2 Provides: tile = 0.8.2 -patch0001: Bugfix-4966cad4d4-Now-function-NotebookPlaceSlaves-i.patch -Patch0002: Fix-1821174fff-and-1938774fff-RenderBadPicture-inval.patch -Patch0003: More-complete-patch-from-Christian-Werner-to-fix-182.patch -Patch0004: Fix-5d991b822e-segmentation-violation-in-TclObjLooku.patch -Patch0005: Fix-4b555aca34-text-search-all-hangs-and-eats-all-me.patch -Patch0006: Another-proposed-fix-for-4b555aca34-text-search-all-.patch -Patch0007: Crash-prevention.-Still-buggy-now-test-text-11a.22-f.patch -Patch0008: tk-8.6.10-make.patch -Patch0009: tk-8.6.10-conf.patch -Patch0010: tk-8.6.7-no-fonts-fix.patch -Patch0011: tk-8.6.10-font-sizes-fix.patch - +Patch0001: tk-8.6.10-make.patch +Patch0002: tk-8.6.10-conf.patch +Patch0003: tk-8.6.10-font-sizes-fix.patch + %description TK is a widget toolkit that creates graphical user interface(GUI). It's @@ -103,6 +96,9 @@ sed -i -e "s|$PWD/unix|%{_libdir}|; s|$PWD|%{_includedir}/%{name}-private|" %{bu %{_mandir}/mann/* %changelog +* Tue Apr 19 2022 wangkerong - 1:8.6.12-1 +- Upgrade to 1:8.6.12-1 + * Thu May 27 2021 liuyumeng - 1:8.6.10-2 - Add a BuildRequires for gcc diff --git a/tk8.6.10-src.tar.gz b/tk8.6.10-src.tar.gz deleted file mode 100644 index 53d1d1c..0000000 Binary files a/tk8.6.10-src.tar.gz and /dev/null differ diff --git a/tk8.6.12-src.tar.gz b/tk8.6.12-src.tar.gz new file mode 100644 index 0000000..36e294f Binary files /dev/null and b/tk8.6.12-src.tar.gz differ