summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authoroehhar <harald.oehlmann@elmicron.de>2024-07-22 12:25:01 (GMT)
committeroehhar <harald.oehlmann@elmicron.de>2024-07-22 12:25:01 (GMT)
commit14b416c8a098f473d29296e5af955a1584c41e75 (patch)
treecb07a2a3240bad909e865d1bad64a1921b6613d4 /win
parent5582225db8a3538d65b30d9b30039bc8461a462a (diff)
parent6e916f429d07206cd992b4696ba371e1f2ae6d4e (diff)
downloadtk-14b416c8a098f473d29296e5af955a1584c41e75.zip
tk-14b416c8a098f473d29296e5af955a1584c41e75.tar.gz
tk-14b416c8a098f473d29296e5af955a1584c41e75.tar.bz2
Ticket [2d3a81c0] MS-Win: segfault on menubutton destroy: merge fix branch
Diffstat (limited to 'win')
-rw-r--r--win/tkWinMenu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/win/tkWinMenu.c b/win/tkWinMenu.c
index 29332e2..163566e 100644
--- a/win/tkWinMenu.c
+++ b/win/tkWinMenu.c
@@ -1238,11 +1238,13 @@ TkWinHandleMenuEvent(
interp = menuPtr->interp;
Tcl_Preserve(interp);
+ Tcl_Preserve(menuPtr);
code = TkInvokeMenu(interp, menuPtr, mePtr->index);
if (code != TCL_OK && code != TCL_CONTINUE && code != TCL_BREAK) {
Tcl_AddErrorInfo(interp, "\n (menu invoke)");
Tcl_BackgroundException(interp, code);
}
+ Tcl_Release(menuPtr);
Tcl_Release(interp);
*plResult = 0;
returnResult = 1;