]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/colour.cpp
added default style wxFRAME_TOOL_WINDOW to creation
[wxWidgets.git] / src / x11 / colour.cpp
index 347c6df14035038686b9d8913ce30f33ae420411..f989be7f44a6f32aeb7e9375dd72e3190cf47dad 100644 (file)
@@ -15,6 +15,7 @@
 #endif
 
 #include "wx/gdicmn.h"
+#include "wx/app.h"
 
 #include "wx/x11/private.h"
 
@@ -82,11 +83,11 @@ unsigned short wxColourRefData::colMapAllocCounter[ 256 ] =
 
 void wxColourRefData::FreeColour()
 {
+#if 0        
     if (m_colormap)
     {
         Colormap cm = (Colormap)m_colormap;
 
-#if 0        
         GdkColormapPrivate *private_colormap = (GdkColormapPrivate*) m_colormap;
         if ((private_colormap->visual->type == GDK_VISUAL_GRAYSCALE) ||
             (private_colormap->visual->type == GDK_VISUAL_PSEUDO_COLOR))
@@ -97,8 +98,8 @@ void wxColourRefData::FreeColour()
             if (colMapAllocCounter[ idx ] == 0)
             gdk_colormap_free_colors( m_colormap, &m_color, 1 );
         }
-#endif
     }
+#endif
 }
 
 void wxColourRefData::AllocColour( WXColormap cmap )
@@ -154,6 +155,9 @@ void wxColour::InitFromName( const wxString &colourName )
     else
     {
         m_refData = new wxColourRefData();
+        
+        M_COLDATA->m_colormap = wxTheApp->GetMainColormap( wxGlobalDisplay() );
+        
         if (!XParseColor( wxGlobalDisplay(), (Colormap) M_COLDATA->m_colormap, colourName.mb_str(), &M_COLDATA->m_color ))
         {
             // VZ: asserts are good in general but this one is triggered by
@@ -234,7 +238,9 @@ unsigned char wxColour::Blue() const
 
 void wxColour::CalcPixel( WXColormap cmap )
 {
-    if (!Ok()) return;
+    wxCHECK_RET( Ok(), wxT("invalid colour") );
+
+    wxCHECK_RET( cmap, wxT("invalid colormap") );
 
     M_COLDATA->AllocColour( cmap );
 }