Attillio attached is my current visual patch can you test it yourself
and review.
I added your patch to gdkmain.
Also I've got a big checkin comming later today I promise.
Its a rewrite of the cairo backend and gdk to eliminate extra buffering.
Sorry for the delay.
Its my last big change from here on out its bugfix promise.


Mike


On 7/12/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
Whoops, the patchfile and the error log are now on my server

Attilio

[1] https://debian.polito.it/downloads/patch.txt
[2] https://debian.polito.it/downloads/crash_g-i.txt





Con Tiscali ADSL 4 Mega Flat navighi SENZA LIMITI a soli 19,95 € al mese.
E se insieme all'Adsl scegli Tiscali Voce, ELIMINI IL CANONE TELECOM. Per 
sempre.
Naviga veloce e risparmia con Tiscali Adsl!

http://adsl.tiscali.it/



Index: gdkvisual-directfb.c
===================================================================
RCS file: /cvs/gnome/gtk+/gdk/directfb/gdkvisual-directfb.c,v
retrieving revision 1.2
diff -u -r1.2 gdkvisual-directfb.c
--- gdkvisual-directfb.c	14 Jun 2006 21:54:25 -0000	1.2
+++ gdkvisual-directfb.c	12 Jul 2006 19:14:37 -0000
@@ -149,6 +149,8 @@
 	 &desc, &src) != DFB_OK)
         continue;
 
+      //visuals[i] = gdk_directfb_visual_create (formats[i]);
+
       dest->GetAccelerationMask (dest, src, &acc);
 
       if (acc & DFXL_BLIT || formats[i] == dlc.pixelformat)
@@ -210,10 +212,12 @@
 
   for (i = 0; visuals[i]; i++)
     {
-      GdkVisual *visual = GDK_VISUAL (visuals[i]);
+      if( visuals[i] ) {
+        GdkVisual *visual = GDK_VISUAL (visuals[i]);
 
-      if (depth == visual->depth)
-        return visual;
+        if (depth == visual->depth)
+            return visual;
+      }
     }
 
   return NULL;
@@ -226,10 +230,12 @@
 
   for (i = 0; visuals[i]; i++)
     {
-      GdkVisual *visual = GDK_VISUAL (visuals[i]);
+      if( visuals[i] ) {
+        GdkVisual *visual = GDK_VISUAL (visuals[i]);
 
-      if (visual_type == visual->type)
-        return visual;
+        if (visual_type == visual->type)
+            return visual;
+      }
     }
 
   return NULL;
@@ -243,10 +249,12 @@
 
   for (i = 0; visuals[i]; i++)
     {
-      GdkVisual *visual = GDK_VISUAL (visuals[i]);
+      if( visuals[i] ) {
+        GdkVisual *visual = GDK_VISUAL (visuals[i]);
 
-      if (depth == visual->depth && visual_type == visual->type)
-        return visual;
+        if (depth == visual->depth && visual_type == visual->type)
+            return visual;
+      }
     }
 
   return system_visual;
@@ -285,7 +293,8 @@
   gint   i;
 
   for (i = 0; visuals[i]; i++)
-    list = g_list_append (list, visuals[i]);
+   if( visuals[i] ) 
+        list = g_list_append (list, visuals[i]);
 
   return list;
 }
@@ -313,7 +322,7 @@
 
   /* first check if one the registered visuals matches */
   for (i = 0; visuals[i]; i++)
-    if (visuals[i]->format == pixel_format)
+    if ( visuals[i] && visuals[i]->format == pixel_format)
       return GDK_VISUAL (visuals[i]);
 
   /* none matched, try to create a new one for this pixel_format */
@@ -332,9 +341,7 @@
     test->Release (test);
   }
 
-  visuals[i] = gdk_directfb_visual_create (pixel_format);
-
-  return GDK_VISUAL (visuals[i]);
+  return GDK_VISUAL(gdk_directfb_visual_create (pixel_format));
 }
 
 GdkScreen *
_______________________________________________
directfb-dev mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to