wxOverlay.Reset causes phantom windows to appear in Mac Mission Control. Everytime wxOverlay reset is called a new phantom window is added with the name of the app.
see video:
https://github.com/user-attachments/assets/3a6ca465-a78b-4804-aa02-2aa85293da11
The overlay clears as expected. All behavior is seemingly ok except for the phantom windows
Samples/Drawing, have confirmed on wxWidgets 3.3.0 3.3.1 and latest nightly version
Build the drawing sample, click and drag to create an overlay until the popup shows up, close the popup, and then use the 3 finger drag up gesture on Mac to pull up Mission Control.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Thanks for reporting this but I have really no idea what's going on here, unfortunately. We seem to be releasing the overlay window correctly in Reset(), but apparently it somehow remains alive? If so, this is not just a problem with Mission Control, but also a resource leak, i.e. even worse...
@csomor If you have any ideas, they would be most welcome, TIA!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
Adding this line to remove the window from the window server in src/osx/cocoa/overlay.mm seemed to help. (line numbers are from a nightly build of 3.3 that I use).
// todo : don't dispose, only hide and reposition on next run
304 [m_overlayParentWindow removeChildWindow:m_overlayWindow];
305 + [m_overlayWindow orderOut:nil];
306 [m_overlayWindow release];
307 m_overlayWindow = nullptr ;
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
@dmoneybags, that's a great idea, thanks
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()