Tk Source Code

Artifact [9cf6116e]
Login

Artifact 9cf6116e0319bb63b1c30012440babee67c8691ef8176c0e04f0d544720e34ea:

Ticket change [9cf6116e] - Ticket [13ac26b3] wm iconbitmap does not correctly sets the icon pixmap hint on macOS status still Open with 3 other changes by fvogel 2025-01-01 10:51:04.
D 2025-01-01T10:51:04.787
J comment `wm\siconbitmap`\sdoes\snot\scorrectly\sset\s`hints.icon_pixmap`\sand\s`hints.flags`\son\smacOS\sunless\sthe\sargument\sis\san\sempty\sstring.\sAfter\s`wm\siconbitmap\s.\shourglass`,\s\r\n`wm\siconbitmap\s.`\sreturns\s"hourglass"\son\sLinux\sand\sWindows,\sbut\san\sempty\sstring\son\smacOS.\r\n\r\nIt\slooks\sthat\sthe\s`else`\sblock\sis\splaced\safter\swrong\s`if`.\sOther\sbug\sis\sthat\sthe\sfunction\salways\sreturns\s`TCL_OK`\seven\sif\s`WmSetAttribute()`\sfails.\sComparing\swith\sthe\scode\son\sLinux\sand\sWindows,\sI\sbelieve\sthat\sthe\sfollowing\spatch\sshould\sfix\sthe\sissue:\r\n\r\n```\r\nIndex:\smacosx/tkMacOSXWm.c\r\n==================================================================\r\n---\smacosx/tkMacOSXWm.c\r\n+++\smacosx/tkMacOSXWm.c\r\n@@\s-2975,18\s+2975,19\s@@\r\n\s\s\s\s\s}\r\n\s\s\s\s\sif\s(!TkMacOSXHostToplevelExists(winPtr))\s{\r\n\s\s\s\s\s\s\s\sTkMacOSXMakeRealWindowExist(winPtr);\r\n\s\s\s\s\s}\r\n\s\s\s\s\sif\s(WmSetAttribute(winPtr,\sTkMacOSXGetNSWindowForDrawable(winPtr->window),\sinterp,\r\n-\s\s\s\s\s\s\s\s\s\s\sWMATT_TITLEPATH,\sobjv[3])\s==\sTCL_OK)\s{\r\n-\s\s\s\s\s\s\sif\s(!len)\s{\r\n-\s\s\s\s\s\s\s\s\s\s\sif\s(wmPtr->hints.icon_pixmap\s!=\sNone)\s{\r\n-\s\s\s\s\s\s\s\s\s\s\s\s\s\s\sTk_FreeBitmap(winPtr->display,\swmPtr->hints.icon_pixmap);\r\n-\s\s\s\s\s\s\s\s\s\s\s\s\s\s\swmPtr->hints.icon_pixmap\s=\sNone;\r\n-\s\s\s\s\s\s\s\s\s\s\s}\r\n-\s\s\s\s\s\s\s\s\s\s\swmPtr->hints.flags\s&=\s~IconPixmapHint;\r\n-\s\s\s\s\s\s\s}\r\n+\s\s\s\s\s\s\s\s\s\s\sWMATT_TITLEPATH,\sobjv[3])\s!=\sTCL_OK)\s{\r\n+\s\s\s\s\s\s\sreturn\sTCL_ERROR;\r\n+\s\s\s\s}\r\n+\s\s\s\sif\s(!len)\s{\r\n+\s\s\s\s\s\s\sif\s(wmPtr->hints.icon_pixmap\s!=\sNone)\s{\r\n+\s\s\s\s\s\s\s\s\s\s\sTk_FreeBitmap(winPtr->display,\swmPtr->hints.icon_pixmap);\r\n+\s\s\s\s\s\s\s\s\s\s\swmPtr->hints.icon_pixmap\s=\sNone;\r\n+\s\s\s\s\s\s\s}\r\n+\s\s\s\s\s\s\swmPtr->hints.flags\s&=\s~IconPixmapHint;\r\n\s\s\s\s\s}\selse\s{\r\n\s\s\s\s\s\s\s\spixmap\s=\sTk_GetBitmap(interp,\s(Tk_Window)winPtr,\sstr);\r\n\s\s\s\s\s\s\s\sif\s(pixmap\s==\sNone)\s{\r\n\s\s\s\s\s\s\s\s\s\s\s\sreturn\sTCL_ERROR;\r\n\s\s\s\s\s\s\s\s}\r\n```\r\n\r\nI\sencountered\sthis\sbug\safter\sadding\stests\sfor\sTkinter\s(<https://github.com/python/cpython/pull/128015>).\r\n\r\nThis\sbug\swas\salready\sknown\s(ticket\s[](119bb094afd86d959039)),\sbut\sit\swas\sclosed\swithout\sproper\sfix.\sSo\syou\sneed\salso\sto\srestore\sthe\sskipped\stests\son\smacOS.
J login fvogel
J mimetype text/plain
K 13ac26b35dc55f7c37f70b39d59d7ef3e63017c8
U fvogel
Z ae5d48a4ce2b44cb6559e57874dc3acc