Hi,

I've had to tweak small bits of code to package XDirectFB against
directfb's CVS.

The first one is one that is also valid when non-cvs directfb is used. 
It fixes the include paths of X headers being used.

The second one is due to a change this year in directfb wrt. where
powersave mode is set: some API has been moved.  It looks to me like
this patch does the correct thing, and xset -dpms seems to work for me
(Though in the past I've never had an XDirectFB server go into powersave
mode anyway - does it work at all ?).

Thomas

Dave/Dina : future TV today ! - http://www.davedina.org/
<-*- thomas (dot) apestaart (dot) org -*->
God how I hate myself for
still wanting her
<-*- thomas (at) apestaart (dot) org -*->
URGent, best radio on the net - 24/7 ! - http://urgent.fm/

Index: xc/programs/Xserver/hw/directfb/directfbX.c
--- xc.patched/programs/Xserver/hw/directfb/directfbX.c	2003-05-30 17:20:16.000000000 +0200
+++ xc/programs/Xserver/hw/directfb/directfbX.c	2004-04-11 11:43:03.000000000 +0200
@@ -676,6 +676,7 @@
 void DPMSSet(int level)
 {
      IDirectFBDisplayLayer *layer;
+     IDirectFBScreen *screen;
      DFBScreenPowerMode mode;
 
      if (!dfb)
@@ -701,9 +702,12 @@
      if (dfb->GetDisplayLayer (dfb, directfbPrefs.layerID, &layer))
           return;
 
-     if (layer->SetCooperativeLevel (layer, DLSCL_ADMINISTRATIVE) == DFB_OK)
-          if (layer->SetScreenPowerMode (layer, mode) == DFB_OK)
+     if (layer->SetCooperativeLevel (layer, DLSCL_ADMINISTRATIVE) == DFB_OK) {
+          if (layer->GetScreen (layer, &screen))
+                return;
+          if (screen->SetPowerMode (screen, mode) == DFB_OK)
                DPMSPowerLevel = level;
+     }
 
      layer->Release (layer);
 }
diff -Naur xc/programs/Xserver/hw/directfb/directfbClipboard.c xc.patched/programs/Xserver/hw/directfb/directfbClipboard.c
--- xc/programs/Xserver/hw/directfb/directfbClipboard.c	2003-05-30 11:20:15.000000000 -0400
+++ xc.patched/programs/Xserver/hw/directfb/directfbClipboard.c	2003-08-23 09:13:05.000000000 -0400
@@ -45,11 +45,11 @@
 #include <pthread.h>
 
 /* X headers */
-#include "X.h"
-#include "Xatom.h"
-#include "Xproto.h"
-#include "Xutil.h"
-#include "Xlocale.h"
+#include "X11/X.h"
+#include "X11/Xatom.h"
+#include "X11/Xproto.h"
+#include "X11/Xutil.h"
+#include "X11/Xlocale.h"
 
 #include "directfbClipboard.h"
 #include "directfbPasteboard.h"

Reply via email to