gnustep / libs-gui

The GNUstep gui library is a library of graphical user interface classes written completely in the Objective-C language; the classes are based upon Apple's Cocoa framework (which came from the OpenStep specification). *** Larger patches require copyright assignment to FSF. please file bugs here. ***
http://www.gnustep.org
GNU General Public License v3.0
278 stars 102 forks source link

Make NSMenu->_aWindow protected, it is referenced by the Windows UX Theme #241

Closed qmfrederik closed 8 months ago

qmfrederik commented 9 months ago

NSMenu->_aWindow is used by the WinUXTheme here: https://github.com/gnustep/plugins-themes-WinUXTheme/blob/1d9a37136b8dfc6dcea811ef28defbe52f954d0d/WinUXTheme.m#L54 , so mark it as @protected.

This pops up when compiling with clang, which actually enforces those visibility attributes (whereas gcc would just make everything publicly visible).

rfm commented 9 months ago

I'm just wondering why the theme is using the instance variable rather than calling -[NSMenu window] ? Perhaps the theme needs updating?

qmfrederik commented 9 months ago

Sounds reasonable, let me have a look

qmfrederik commented 8 months ago

Thanks @rfm , I've opened https://github.com/gnustep/plugins-themes-WinUXTheme/pull/4. Would you mind having a look at that PR?