commit 6a93bd5c92bd2954314f492f10bbcac2c3416da0 from: sqweek via: Russ Cox date: Wed Nov 11 15:09:34 2015 UTC devdraw: cocoa: set window title on main thread Change-Id: Ie818f9246f749a9d3293019a1e01be4ce7e368b9 Reviewed-on: https://plan9port-review.googlesource.com/1400 Reviewed-by: Russ Cox commit - 8db40354c5ded13fac5974de4f7cc1b7f0087d67 commit + 6a93bd5c92bd2954314f492f10bbcac2c3416da0 blob - fc73814b8ab164820228fd58f51fc7a7c288a0f9 blob + 3607ab4117d26a57ac3d56388a3dfe0b0bc0c479 --- src/cmd/devdraw/cocoa-screen.m +++ src/cmd/devdraw/cocoa-screen.m @@ -137,6 +137,7 @@ static void makeicon(void); static void makemenu(void); static void makewin(char*); static void sendmouse(void); +static void kicklabel0(char*); static void setcursor0(Cursor*); static void togglefs(void); static void acceptresizing(int); @@ -232,6 +233,7 @@ static NSRect dilate(NSRect); + (void)callflushimg:(NSValue*)v{ flushimg([v rectValue]);} + (void)callmakewin:(NSValue*)v{ makewin([v pointerValue]);} + (void)callsetcursor0:(NSValue*)v{ setcursor0([v pointerValue]);} ++ (void)callkicklabel0:(NSValue*)v{ kicklabel0([v pointerValue]);} @end static Memimage* initimg(void); @@ -1358,10 +1360,18 @@ putsnarf(char *s) void kicklabel(char *label) { - NSString *s; - if(label == nil) return; + + [appdelegate + performSelectorOnMainThread:@selector(callkicklabel0:) + withObject:[NSValue valueWithPointer:label] + waitUntilDone:YES]; +} + +static void +kicklabel0(char *label) { + NSString *s; s = [[NSString alloc] initWithUTF8String:label]; [win.ofs[0] setTitle:s];