Commit Diff


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];