mirror of
https://github.com/netbirdio/systray.git
synced 2026-05-22 17:08:41 -07:00
make addOrUpdateMenuItem insert item if it was deleted
Currently, a menu item that was previously hidden (ie, deleted) will not return -1, and so when we're in the Show() code execution path we will never insert it in the previous position: attempts at Show() are failing because it tries to update a non-existing item. - Resolves: #67
This commit is contained in:
+3
-1
@@ -463,8 +463,10 @@ func (t *winTray) addOrUpdateMenuItem(menuId int32, title string, disabled, chec
|
||||
|
||||
// The return value is the identifier of the specified menu item.
|
||||
// If the menu item identifier is NULL or if the specified item opens a submenu, the return value is -1.
|
||||
// If the given menu identifier is not found (becase we deleted the menu item when hiding it),
|
||||
// the call will return the next integer that is available as an existing menu item.
|
||||
res, _, err := pGetMenuItemID.Call(uintptr(t.menu), uintptr(menuId))
|
||||
if int32(res) == -1 {
|
||||
if int32(res) == -1 || int32(res) != menuId {
|
||||
res, _, err = pInsertMenuItem.Call(
|
||||
uintptr(t.menu),
|
||||
uintptr(menuId),
|
||||
|
||||
Reference in New Issue
Block a user