diff -u -r DirectFB-examples-0.9.22/src/df_andi.c DirectFB-examples-0.9.22-modified/src/df_andi.c
--- DirectFB-examples-0.9.22/src/df_andi.c	2005-02-18 15:25:13.000000000 +0000
+++ DirectFB-examples-0.9.22-modified/src/df_andi.c	2005-09-12 17:54:29.000000000 +0100
@@ -474,16 +474,8 @@
      /* get the primary surface, i.e. the surface of the primary layer we have
         exclusive access to */
      dsc.flags = DSDESC_CAPS;
-     dsc.caps = DSCAPS_PRIMARY | DSCAPS_TRIPLE;
-
+     dsc.caps = DSCAPS_PRIMARY | DSCAPS_DOUBLE;
      err = dfb->CreateSurface( dfb, &dsc, &primary );
-     if (err) {
-          dsc.caps = DSCAPS_PRIMARY | DSCAPS_DOUBLE;
-
-          DFBCHECK(dfb->CreateSurface( dfb, &dsc, &primary ));
-     }
-     else
-          triple = true;

      DFBCHECK(primary->GetSize( primary, &xres, &yres ));

@@ -517,7 +509,7 @@
                                         &provider ));

      DFBCHECK (provider->GetSurfaceDescription (provider, &dsc));
-     dsc.flags = DSDESC_WIDTH | DSDESC_HEIGHT;
+     dsc.flags |= DSDESC_WIDTH | DSDESC_HEIGHT;
      dsc.width = xres;
      dsc.height = yres;
      DFBCHECK(dfb->CreateSurface( dfb, &dsc, &background ));
diff -u -r DirectFB-examples-0.9.22/src/df_dok.c DirectFB-examples-0.9.22-modified/src/df_dok.c
--- DirectFB-examples-0.9.22/src/df_dok.c	2005-02-20 21:09:20.000000000 +0000
+++ DirectFB-examples-0.9.22-modified/src/df_dok.c	2005-09-12 17:30:49.000000000 +0100
@@ -1203,7 +1203,7 @@
                                         &provider ));
      DFBCHECK(provider->GetSurfaceDescription( provider, &dsc ));

-     dsc.flags = DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT;
+     dsc.flags |= DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT;
      dsc.width = SX;
      dsc.height = SY;
      dsc.pixelformat = DFB_BYTES_PER_PIXEL(pixelformat) == 2 ?
@@ -1214,7 +1214,7 @@
      provider->Release( provider );

      /* create a surface and render an image to it */
-     dsc.flags = DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT;
+     dsc.flags |= DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT;
      dsc.width = SX;
      dsc.height = SY;
      dsc.pixelformat = DSPF_ARGB;
@@ -1234,7 +1234,7 @@

           DFBCHECK(tmp->GetPalette( tmp, &palette ));

-          dsc.flags = DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT;
+          dsc.flags |= DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT;
           dsc.width = SX;
           dsc.height = SY;
           dsc.pixelformat = DSPF_LUT8;
diff -u -r DirectFB-examples-0.9.22/src/df_input.c DirectFB-examples-0.9.22-modified/src/df_input.c
--- DirectFB-examples-0.9.22/src/df_input.c	2004-04-29 11:01:21.000000000 +0100
+++ DirectFB-examples-0.9.22-modified/src/df_input.c	2005-09-12 17:30:49.000000000 +0100
@@ -525,7 +525,7 @@
      }

      provider->GetSurfaceDescription( provider, &dsc );
-     dsc.flags = DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT;
+     dsc.flags |= DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_PIXELFORMAT;
      dsc.pixelformat = DSPF_ARGB;
      if (dfb->CreateSurface( dfb, &dsc, &tmp ) == DFB_OK)
           provider->RenderTo( provider, tmp, NULL );
diff -u -r DirectFB-examples-0.9.22/src/df_stress.c DirectFB-examples-0.9.22-modified/src/df_stress.c
--- DirectFB-examples-0.9.22/src/df_stress.c	2002-10-29 15:17:13.000000000 +0000
+++ DirectFB-examples-0.9.22-modified/src/df_stress.c	2005-09-12 17:30:49.000000000 +0100
@@ -83,7 +83,7 @@

      provider->GetSurfaceDescription (provider, &dsc);

-     dsc.flags = DSDESC_WIDTH | DSDESC_HEIGHT;
+     dsc.flags |= DSDESC_WIDTH | DSDESC_HEIGHT;

      for (i=0; i<SURFACEMANAGER_TEST_SURFACES; i++) {
           dsc.width = rand()%500 + 100;
diff -u -r DirectFB-examples-0.9.22/src/df_window.c DirectFB-examples-0.9.22-modified/src/df_window.c
--- DirectFB-examples-0.9.22/src/df_window.c	2004-09-17 10:50:54.000000000 +0100
+++ DirectFB-examples-0.9.22-modified/src/df_window.c	2005-09-12 17:30:49.000000000 +0100
@@ -128,7 +128,8 @@
                                              DATADIR"/desktop.png",
                                              &provider ));

-          desc.flags = DSDESC_WIDTH | DSDESC_HEIGHT;
+          desc.flags = DSDESC_WIDTH | DSDESC_HEIGHT | DSDESC_CAPS;
+          desc.caps  = DSCAPS_VIDEOONLY;
           desc.width = layer_config.width;
           desc.height = layer_config.height;

@@ -173,10 +174,10 @@

           if (!video_provider) {
                desc.caps = DWCAPS_ALPHACHANNEL;
-               desc.flags |= DWDESC_CAPS;
-
+               desc.flags |= DWDESC_CAPS | DWDESC_SURFACE_CAPS;
                sdsc.width  = 300;
                sdsc.height = 200;
+               desc.surface_caps = DSCAPS_VIDEOONLY;
           }
           else {
                video_provider->GetSurfaceDescription( video_provider, &sdsc );
@@ -223,13 +224,13 @@
           DFBWindowDescription desc;

           desc.flags  = ( DWDESC_POSX | DWDESC_POSY |
-                          DWDESC_WIDTH | DWDESC_HEIGHT | DWDESC_CAPS );
+                          DWDESC_WIDTH | DWDESC_HEIGHT | DWDESC_CAPS | DWDESC_SURFACE_CAPS);
           desc.posx   = 200;
           desc.posy   = 200;
           desc.width  = 512;
           desc.height = 145;
           desc.caps   = DWCAPS_ALPHACHANNEL;
-
+          desc.surface_caps = DSCAPS_VIDEOONLY;
           DFBCHECK(layer->CreateWindow( layer, &desc, &window1 ) );
           window1->GetSurface( window1, &window_surface1 );

