aboutsummaryrefslogtreecommitdiffstats
path: root/vncviewer
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2025-01-22 14:37:09 +0100
committerPierre Ossman <ossman@cendio.se>2025-01-22 14:37:09 +0100
commite3e484841cb6283266bea91221400122610131c6 (patch)
tree66fd1189c4633c7e2ffcc9fe9d45b4a9646c5ddc /vncviewer
parente9f662656d78ec270803d2df2d6bbea0a958dcb1 (diff)
downloadtigervnc-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.mm7
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];
}