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