Author: manolo
Date: 2011-05-15 05:34:31 -0700 (Sun, 15 May 2011)
New Revision: 8665
Log:
Mac OS: implemented the effect of the 2nd arg of Fl_Window::label(label, 
iconlabel) - continued.
Now works also if called before the window is shown().

Modified:
   branches/branch-1.3/src/Fl_cocoa.mm

Modified: branches/branch-1.3/src/Fl_cocoa.mm
===================================================================
--- branches/branch-1.3/src/Fl_cocoa.mm 2011-05-15 09:42:36 UTC (rev 8664)
+++ branches/branch-1.3/src/Fl_cocoa.mm 2011-05-15 12:34:31 UTC (rev 8665)
@@ -1555,7 +1555,7 @@
 
 Fl_Window *fl_dnd_target_window = 0;
 
-static void  q_set_window_title(NSWindow *nsw, const char * name ) {
+static void  q_set_window_title(NSWindow *nsw, const char * name, const char 
*mininame) {
   CFStringRef title = CFStringCreateWithCString(NULL, (name ? name : ""), 
kCFStringEncodingUTF8);
   if(!title) { // fallback when name contains malformed UTF-8
     int l = strlen(name);
@@ -1566,6 +1566,13 @@
     }
   [nsw setTitle:(NSString*)title];
   CFRelease(title);
+  if (mininame && strlen(mininame)) {
+    CFStringRef minititle = CFStringCreateWithCString(NULL, mininame, 
kCFStringEncodingUTF8);
+    if (minititle) {
+      [nsw setMiniwindowTitle:(NSString*)minititle];
+      CFRelease(minititle);
+    }
+  }
 }
 
 
@@ -2082,9 +2089,7 @@
       Fl_Window* w = Fl_X::first->w;
       while (w->parent()) w = w->window(); // todo: this code does not make 
any sense! (w!=w??)
     }
-    
-    const char *name = w->label();
-    
+        
     Fl_X* x = new Fl_X;
     x->subwindow = false;
     x->other_xid = 0; // room for doublebuffering image map. On OS X this is 
only used by overlay windows
@@ -2111,7 +2116,7 @@
     [cw setContentView:myview];
     [cw setLevel:winlevel];
     
-    q_set_window_title(cw, name);
+    q_set_window_title(cw, w->label(), w->iconlabel());
     if (!(w->flags() & Fl_Window::FORCE_POSITION)) {
       if (w->modal()) {
         [cw center];
@@ -2216,14 +2221,7 @@
   iconlabel_ = mininame;
   if (shown() || i) {
     NSWindow* nsw = (NSWindow*)i->xid;
-    q_set_window_title(nsw, name);
-    if (mininame && strlen(mininame)) {
-      CFStringRef minititle = CFStringCreateWithCString(NULL, mininame, 
kCFStringEncodingUTF8);
-      if (minititle) {
-       [nsw setMiniwindowTitle:(NSString*)minititle];
-       CFRelease(minititle);
-       }
-      }
+    q_set_window_title(nsw, name, mininame);
   }
 }
 

_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit

Reply via email to