changeset 1943:469711814566

Mac: Fix NSStatusItem deprecation warnings by using the embedded NSStatusBarButton instead. Also moved code into YOSEMITE #ifdef since it is only supported on 10.10 and later.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sat, 22 Jun 2019 20:11:52 +0000
parents 5658f703a22e
children d37f30a7c233
files mac/dw.m
diffstat 1 files changed, 12 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/mac/dw.m	Sat Jun 22 20:01:05 2019 +0000
+++ b/mac/dw.m	Sat Jun 22 20:11:52 2019 +0000
@@ -7417,17 +7417,20 @@
  */
 void API dw_taskbar_insert(HWND handle, HICN icon, char *bubbletext)
 {
+#ifdef BUILDING_FOR_YOSEMITE
     NSStatusItem *item = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain];
+    NSStatusBarButton *button = [item button];
     NSImage *image = icon;
-    [item setImage:image];
+    [button setImage:image];
     if(bubbletext)
-        [item setToolTip:[NSString stringWithUTF8String:bubbletext]];
-    [item setTarget:handle];
-    [item setEnabled:YES];
-    [item setHighlightMode:YES];
-    [item sendActionOn:(DWEventMaskLeftMouseUp|DWEventMaskLeftMouseDown|DWEventMaskRightMouseUp|DWEventMaskRightMouseDown)];
-    [item setAction:@selector(mouseDown:)];
+        [button setToolTip:[NSString stringWithUTF8String:bubbletext]];
+    [button setTarget:handle];
+    [button setEnabled:YES];
+    [[button cell] setHighlighted:YES];
+    [button sendActionOn:(DWEventMaskLeftMouseUp|DWEventMaskLeftMouseDown|DWEventMaskRightMouseUp|DWEventMaskRightMouseDown)];
+    [button setAction:@selector(mouseDown:)];
     dw_window_set_data(handle, "_dw_taskbar", item);
+#endif
 }
 
 /*
@@ -7438,10 +7441,12 @@
  */
 void API dw_taskbar_delete(HWND handle, HICN icon)
 {
+#ifdef BUILDING_FOR_YOSEMITE
     NSStatusItem *item = dw_window_get_data(handle, "_dw_taskbar");
     DW_LOCAL_POOL_IN;
     [item release];
     DW_LOCAL_POOL_OUT;
+#endif
 }
 
 /* Internal function to keep HICNs from getting too big */