According to b0b0ebb469a6b7eb74d321e6f5d7fe6f0bfcf6ba we guard against proxying the widget more than once for some Windows reasons, but this breaks the case where the same GeanyEntryAction has to re-create a fresh proxy, like when moving the item around.
So, move the guard value to the proxied widget, not the action.
Fixes #3831.
As this is Windows-related (see b0b0ebb469a6b7eb74d321e6f5d7fe6f0bfcf6ba), it could be nice if somebody could actually check that this patch doesn't break anything there. I likely won't, at least in a yearly manner. You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/3838
-- Commit Summary --
* Fix search entry after editing the toolbar
-- File Changes --
M src/geanyentryaction.c (6)
-- Patch Links --
https://github.com/geany/geany/pull/3838.patch https://github.com/geany/geany/pull/3838.diff
@ntrel approved this pull request.
Looks good, thanks. Tested on Linux, works.
@eht16 approved this pull request.
Tested on Linux and Windows, works perfectly.
I don't remember the initial problems from 12 years ago, maybe it was GTK2 releated or a bug in early GTK3 versions or so.
I don't remember the initial problems from 12 years ago, maybe it was GTK2 releated or a bug in early GTK3 versions or so.
Any chance you could try removing the guard and see if anything weird happens? Not that I remember any details about that though, only Git does remember anything :)
Merged #3838 into master.
@eht16 I merged this anyway, but feel free to still check whether the shenanigans are still useful :wink:
It seems to work without the guard as well. The connect_proxy function is called four times here, but it's the same on Linux and Windows and in either way, the search toolbar item still works after re-ordering.
Since we cannot reproduce this anymore and the "fix" is so long ago, maybe it was really related to some Windows-GTK2 bugginess.
github-comments@lists.geany.org