python/cpython

`tkinter.Wm.wm_iconbitmap` has no effect when passing an empty string to the parameter `default`

Opened this issue · 0 comments

Bug report

Bug description:

import tkinter
from tkinter import messagebox

root = tkinter.Tk()
root.update()
root.tk.call("wm", "iconbitmap", root._w, "-default", "")
messagebox.showinfo()
root.mainloop()

Running the code above can get the following effect:

image_1


import tkinter
from tkinter import messagebox

root = tkinter.Tk()
root.update()
root.wm_iconbitmap(default="")  # the different line
messagebox.showinfo()
root.mainloop()

Running the code above can get the following effect:

image_2

However, in fact, these two pieces of code should be equivalent, but due to an inaccurate logical judgment, this problem arises.

This is a very easy bug to fix, and I'll create a PR to fix it later.

The issue may only exist on Windows systems.

CPython versions tested on:

3.13

Operating systems tested on:

Windows

Linked PRs