Author: matt
Date: 2009-12-07 11:15:37 -0800 (Mon, 07 Dec 2009)
New Revision: 6952
Log:
Some fixes for the Cocoa port

Modified:
   branches/branch-1.3/makeinclude.in
   branches/branch-1.3/src/Fl_Preferences.cxx
   branches/branch-1.3/src/Fl_cocoa.mm

Modified: branches/branch-1.3/makeinclude.in
===================================================================
--- branches/branch-1.3/makeinclude.in  2009-12-06 22:21:55 UTC (rev 6951)
+++ branches/branch-1.3/makeinclude.in  2009-12-07 19:15:37 UTC (rev 6952)
@@ -152,7 +152,7 @@
 
 .cxx.o:
        echo Compiling $<...
-       @if [ $< = Fl.cxx ]; then \
+       @if [ `uname` = Darwin -a $< = Fl.cxx ]; then \
                $(CXX) -I.. $(ARCHFLAGS) @PNGINC@ @JPEGINC@ @ZLIBINC@ 
$(CXXFLAGS) -x objective-c++ -c $< -o $@; \
        else \
                $(CXX) -I.. $(ARCHFLAGS) @PNGINC@ @JPEGINC@ @ZLIBINC@ 
$(CXXFLAGS) -c $< -o $@; \

Modified: branches/branch-1.3/src/Fl_Preferences.cxx
===================================================================
--- branches/branch-1.3/src/Fl_Preferences.cxx  2009-12-06 22:21:55 UTC (rev 
6951)
+++ branches/branch-1.3/src/Fl_Preferences.cxx  2009-12-07 19:15:37 UTC (rev 
6952)
@@ -870,6 +870,16 @@
            "/%s/%s.prefs", vendor, application);
   for (char *s = filename; *s; s++) if (*s == '\\') *s = '/';
 #elif defined ( __APPLE__ )
+#ifdef __APPLE_COCOA__
+  switch (root) {
+    case SYSTEM:
+      strcpy(filename, "/Library/Preferences");
+      break;
+    case USER:
+         sprintf(filename, "%s/Library/Preferences", fl_getenv("HOME"));
+      break;
+  }
+#else
   FSSpec spec = { 0 };
   FSRef ref;
   OSErr err = fnfErr;
@@ -885,6 +895,7 @@
   }
   FSpMakeFSRef( &spec, &ref );
   FSRefMakePath( &ref, (UInt8*)filename, FL_PATH_MAX );
+#endif
   snprintf(filename + strlen(filename), sizeof(filename) - strlen(filename),
            "/%s/%s.prefs", vendor, application );
 #else

Modified: branches/branch-1.3/src/Fl_cocoa.mm
===================================================================
--- branches/branch-1.3/src/Fl_cocoa.mm 2009-12-06 22:21:55 UTC (rev 6951)
+++ branches/branch-1.3/src/Fl_cocoa.mm 2009-12-07 19:15:37 UTC (rev 6952)
@@ -61,6 +61,13 @@
 #include <stdarg.h>
 
 #import <Cocoa/Cocoa.h>
+#include <AvailabilityMacros.h>
+#if defined(__LP64__) && __LP64__
+typedef double CGFloat;
+#else
+typedef float CGFloat;
+#endif
+
 #if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_5
 typedef long NSInteger;
 typedef unsigned long NSUInteger;
@@ -803,7 +810,7 @@
       // fall through
          case NSLeftMouseDragged:
          case NSRightMouseDragged:
-         case NSOtherMouseDragged:
+         case NSOtherMouseDragged: {
       if (suppressed) break;
       if ( !sendEvent ) {
         sendEvent = FL_MOVE; // Fl::handle will convert into FL_DRAG
@@ -817,7 +824,9 @@
       Fl::e_x = pos.x;
       Fl::e_y = pos.y;
       Fl::handle( sendEvent, window );
-      break;
+          } break;
+       default:
+         break;
   }
   
   fl_unlock_function();
@@ -1090,7 +1099,7 @@
   if([s length] == 0) {//this is a dead key that must be combined with the 
next key to be pressed
     while (window->parent()) window = window->window();
     Fl::e_keysym = FL_Control_R;//first simulate pressing of the compose key 
(FL_Control_R)
-    Fl::e_text = "";
+    Fl::e_text = (char*)"";
     Fl::e_length = 0;
     Fl::handle(FL_KEYBOARD, window); 
     compose=YES;
@@ -1129,7 +1138,7 @@
     case NSKeyDown:
       sendEvent = FL_KEYBOARD;
       // fall through
-    case NSKeyUp:
+    case NSKeyUp: {
       if ( !sendEvent ) {
         sendEvent = FL_KEYUP;
         Fl::e_state &= 0xbfffffff; // clear the deadkey flag
@@ -1155,7 +1164,10 @@
       Fl::e_length = strlen(buffer);
       Fl::e_text = buffer;
       buffer[Fl::e_length] = 0; // just in case...
-      break;
+      } break;
+       default:
+         fl_unlock_function();
+         return eventNotHandledErr;
   }
   while (window->parent()) window = window->window();
   if (sendEvent && Fl::handle(sendEvent,window)) {

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

Reply via email to