diff options
author | Pierre Ossman <ossman@cendio.se> | 2025-01-22 14:37:09 +0100 |
---|---|---|
committer | Pierre Ossman <ossman@cendio.se> | 2025-01-22 14:37:09 +0100 |
commit | e3e484841cb6283266bea91221400122610131c6 (patch) | |
tree | 66fd1189c4633c7e2ffcc9fe9d45b4a9646c5ddc /vncviewer | |
parent | e9f662656d78ec270803d2df2d6bbea0a958dcb1 (diff) | |
download | tigervnc-e3e484841cb6283266bea91221400122610131c6.tar.gz tigervnc-e3e484841cb6283266bea91221400122610131c6.zip |
Sanity checks in cocoa helper functions
A FLTK window doesn't have a backing NSWindow until it is show():n. Make
sure we catch if these functions are called before it is shown, rather
than misbehave in strange ways.
Diffstat (limited to 'vncviewer')
-rw-r--r-- | vncviewer/cocoa.mm | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/vncviewer/cocoa.mm b/vncviewer/cocoa.mm index 1d63b750..d814ce91 100644 --- a/vncviewer/cocoa.mm +++ b/vncviewer/cocoa.mm @@ -34,6 +34,7 @@ int cocoa_get_level(Fl_Window *win) { NSWindow *nsw; nsw = (NSWindow*)fl_xid(win); + assert(nsw); return [nsw level]; } @@ -41,6 +42,7 @@ void cocoa_set_level(Fl_Window *win, int level) { NSWindow *nsw; nsw = (NSWindow*)fl_xid(win); + assert(nsw); [nsw setLevel:level]; } @@ -49,6 +51,7 @@ int cocoa_capture_displays(Fl_Window *win) NSWindow *nsw; nsw = (NSWindow*)fl_xid(win); + assert(nsw); CGDisplayCount count; CGDirectDisplayID displays[16]; @@ -106,6 +109,7 @@ void cocoa_release_displays(Fl_Window *win) captured = false; nsw = (NSWindow*)fl_xid(win); + assert(nsw); // Someone else has already changed the level of this window if ([nsw level] != CGShieldingWindowLevel()) @@ -130,6 +134,7 @@ CGColorSpaceRef cocoa_win_color_space(Fl_Window *win) NSColorSpace *nscs; nsw = (NSWindow*)fl_xid(win); + assert(nsw); nscs = [nsw colorSpace]; if (nscs == nil) { @@ -150,6 +155,7 @@ bool cocoa_win_is_zoomed(Fl_Window *win) { NSWindow *nsw; nsw = (NSWindow*)fl_xid(win); + assert(nsw); return [nsw isZoomed]; } @@ -157,5 +163,6 @@ void cocoa_win_zoom(Fl_Window *win) { NSWindow *nsw; nsw = (NSWindow*)fl_xid(win); + assert(nsw); [nsw zoom:nsw]; } |