[gtk+/native-layout] Catch directfb errors in gdk_colormap_new



commit f6a173d30258c0d8552d987a6347d0f19c7a4fed
Author: Matthias Clasen <mclasen redhat com>
Date:   Tue Feb 23 13:05:24 2010 -0500

    Catch directfb errors in gdk_colormap_new
    
    Patch by Andre Draszik, bug 609172.

 gdk/directfb/gdkcolor-directfb.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/gdk/directfb/gdkcolor-directfb.c b/gdk/directfb/gdkcolor-directfb.c
index 2980133..86f68da 100644
--- a/gdk/directfb/gdkcolor-directfb.c
+++ b/gdk/directfb/gdkcolor-directfb.c
@@ -119,9 +119,16 @@ gdk_colormap_new (GdkVisual *visual,
     {
     case GDK_VISUAL_PSEUDO_COLOR:
       {
+        IDirectFB                  *dfb = _gdk_display->directfb;
+        IDirectFBPalette           *palette;
         GdkColormapPrivateDirectFB *private;
         DFBPaletteDescription       dsc;
 
+        dsc.flags = DPDESC_SIZE;
+        dsc.size  = colormap->size;
+        if (!dfb->CreatePalette (dfb, &dsc, &palette))
+          return NULL;
+
         colormap->colors = g_new0 (GdkColor, colormap->size);
 
         private = g_new0 (GdkColormapPrivateDirectFB, 1);
@@ -133,10 +140,7 @@ gdk_colormap_new (GdkVisual *visual,
             private->info[0].ref_count++;
           }
 
-        dsc.flags = DPDESC_SIZE;
-        dsc.size  = colormap->size;
-        _gdk_display->directfb->CreatePalette (
-		_gdk_display->directfb, &dsc, &private->palette);
+        private->palette = palette;
 
         colormap->windowing_data = private;
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]