]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/carbon/colordlgosx.mm
use WXSIZEOF(x) instead of sizeof(x)/sizeof(x[0]) (closes #10701)
[wxWidgets.git] / src / osx / carbon / colordlgosx.mm
index d35a0d57bd4d3323edbb22c22f287a988600e3cf..f1093c4391e6c9f0fc1b519ff37164033644ee3d 100644 (file)
@@ -106,27 +106,15 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data)
     if (data)
         m_colourData = *data;
 
-    //
-    // This is the key call - this initializes
-    // events and window stuff for cocoa for carbon
-    // applications.
-    //
-    // This is also the only call here that is
-    // 10.2+ specific (the rest is OSX only),
-    // which, ironically, the carbon font
-    // panel requires.
-    //
-    bool bOK = NSApplicationLoad();
-
     //autorelease pool - req'd for carbon
     NSAutoreleasePool *thePool;
     thePool = [[NSAutoreleasePool alloc] init];
 
-    if(m_colourData.m_dataColour.Ok())
+    if(m_colourData.GetColour().IsOk())
         [[NSColorPanel sharedColorPanel] setColor:
-            [NSColor colorWithCalibratedRed:m_colourData.m_dataColour.Red() / 255.0
-                                        green:m_colourData.m_dataColour.Green() / 255.0
-                                        blue:m_colourData.m_dataColour.Blue() / 255.0
+            [NSColor colorWithCalibratedRed:m_colourData.GetColour().Red() / 255.0
+                                        green:m_colourData.GetColour().Green() / 255.0
+                                        blue:m_colourData.GetColour().Blue() / 255.0
                                         alpha:1.0]
         ];
     else
@@ -135,7 +123,7 @@ bool wxColourDialog::Create(wxWindow *parent, wxColourData *data)
     //We're done - free up the pool
     [thePool release];
 
-    return bOK;
+    return true;
 }
 int wxColourDialog::ShowModal()
 {
@@ -170,12 +158,13 @@ int wxColourDialog::ShowModal()
             [NSApp endModalSession:session];
 
     //free up the memory for the delegates - we don't need them anymore
+    [theColorPanel setDelegate:nil];
     [theCPDelegate release];
 
     //Get the shared color panel along with the chosen color and set the chosen color
     NSColor* theColor = [[theColorPanel color] colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
 
-    m_colourData.m_dataColour.Set(
+    m_colourData.GetColour().Set(
                                 (unsigned char) ([theColor redComponent] * 255.0),
                                 (unsigned char) ([theColor greenComponent] * 255.0),
                                 (unsigned char) ([theColor blueComponent] * 255.0)