Hi, it's me again responding to my own message...

Lucian Muresan wrote:
Hello,

I'm using DirectFB with the linux-fusion module for a long time, and now
when the time has come for performing some system upgrades, I ran into
the following problem:
  - upgraded to a 2.6.25 kernel;
- built linux-fusion-7.0.1 (which was moved to "Old" on the homepage during last night, btw)
  - build DirectFB-1.1.1 (too, moved to "Old" last night)
  - built several apps depending on DirectFB directly, and on DFB++-1.0.0

After all this, had to find out that the linux-fusion module, although it builds, is not usable, as there is no more "xtime" symbol in the kernel.

Then I found this thread dated in March 2008 about releasing linux-fusion-3.2.5, but I can't find that one.

Allright, then I decided to upgrade even more, and built linux-fusion-8.0.0 which loads alright as the xtime code has been ported, then I had to go with DirectFB-1.2.0 as older DirectFB is not API-compatible with that new linux-fusion. But now I need DFB++ built against new DirectFB, well, 1.0.0 it's not API-compatible, and the git version also is not.

Allright, I patched DFB++ checked out from git myself to build against DirectFB-1.2.0, maybe not the most elegant way, but at least it builds without errors (haven't tested live, as I did it over a ssh connection). Others might find the attached patch useful...

Cheers,
Lucian

diff -Naur DFB++-9999_orig/dfb++/idirectfb.cpp DFB++-9999/dfb++/idirectfb.cpp
--- DFB++-9999_orig/dfb++/idirectfb.cpp 2007-12-17 18:05:53.000000000 +0100
+++ DFB++-9999/dfb++/idirectfb.cpp      2008-06-09 12:27:28.000000000 +0200
@@ -37,7 +37,7 @@
 
 IDirectFB *IDirectFB::AddRef()
 {
-     DFBCHECK( iface->AddRef (iface) );
+     DFBCHECK( DFBResult ( iface->AddRef (iface) ) );
 
      refs++;
 
@@ -46,7 +46,7 @@
 
 void IDirectFB::Release()
 {
-     DFBCHECK( iface->Release (iface) );
+     DFBCHECK( DFBResult ( iface->Release (iface) ) );
 
      if (--refs == 0)
           delete this;
diff -Naur DFB++-9999_orig/dfb++/idirectfbdatabuffer.cpp 
DFB++-9999/dfb++/idirectfbdatabuffer.cpp
--- DFB++-9999_orig/dfb++/idirectfbdatabuffer.cpp       2007-12-17 
18:05:53.000000000 +0100
+++ DFB++-9999/dfb++/idirectfbdatabuffer.cpp    2008-06-09 12:29:12.000000000 
+0200
@@ -37,7 +37,7 @@
 
 IDirectFBDataBuffer *IDirectFBDataBuffer::AddRef()
 {
-     DFBCHECK( iface->AddRef (iface) );
+     DFBCHECK( DFBResult ( iface->AddRef (iface) ) );
 
      refs++;
 
@@ -46,7 +46,7 @@
 
 void IDirectFBDataBuffer::Release()
 {
-     DFBCHECK( iface->Release (iface) );
+     DFBCHECK( DFBResult ( iface->Release (iface) ) );
 
      if (--refs == 0)
           delete this;
diff -Naur DFB++-9999_orig/dfb++/idirectfbdisplaylayer.cpp 
DFB++-9999/dfb++/idirectfbdisplaylayer.cpp
--- DFB++-9999_orig/dfb++/idirectfbdisplaylayer.cpp     2007-12-17 
18:05:53.000000000 +0100
+++ DFB++-9999/dfb++/idirectfbdisplaylayer.cpp  2008-06-09 12:30:06.000000000 
+0200
@@ -37,7 +37,7 @@
 
 IDirectFBDisplayLayer *IDirectFBDisplayLayer::AddRef()
 {
-     DFBCHECK( iface->AddRef (iface) );
+     DFBCHECK( DFBResult ( iface->AddRef (iface) ) );
 
      refs++;
 
@@ -46,7 +46,7 @@
 
 void IDirectFBDisplayLayer::Release()
 {
-     DFBCHECK( iface->Release (iface) );
+     DFBCHECK( DFBResult ( iface->Release (iface) ) );
 
      if (--refs == 0)
           delete this;
diff -Naur DFB++-9999_orig/dfb++/idirectfbeventbuffer.cpp 
DFB++-9999/dfb++/idirectfbeventbuffer.cpp
--- DFB++-9999_orig/dfb++/idirectfbeventbuffer.cpp      2007-12-17 
18:05:53.000000000 +0100
+++ DFB++-9999/dfb++/idirectfbeventbuffer.cpp   2008-06-09 12:30:48.000000000 
+0200
@@ -37,7 +37,7 @@
 
 IDirectFBEventBuffer *IDirectFBEventBuffer::AddRef()
 {
-     DFBCHECK( iface->AddRef (iface) );
+     DFBCHECK( DFBResult( iface->AddRef (iface) ) );
 
      refs++;
 
@@ -46,7 +46,7 @@
 
 void IDirectFBEventBuffer::Release()
 {
-     DFBCHECK( iface->Release (iface) );
+     DFBCHECK( DFBResult( iface->Release (iface) ) );
 
      if (--refs == 0)
           delete this;
diff -Naur DFB++-9999_orig/dfb++/idirectfbfont.cpp 
DFB++-9999/dfb++/idirectfbfont.cpp
--- DFB++-9999_orig/dfb++/idirectfbfont.cpp     2007-12-17 18:05:53.000000000 
+0100
+++ DFB++-9999/dfb++/idirectfbfont.cpp  2008-06-09 12:31:30.000000000 +0200
@@ -37,7 +37,7 @@
 
 IDirectFBFont *IDirectFBFont::AddRef()
 {
-     DFBCHECK( iface->AddRef (iface) );
+     DFBCHECK( DFBResult ( iface->AddRef (iface) ) );
 
      refs++;
 
@@ -46,7 +46,7 @@
 
 void IDirectFBFont::Release()
 {
-     DFBCHECK( iface->Release (iface) );
+     DFBCHECK( DFBResult ( iface->Release (iface) ) );
 
      if (--refs == 0)
           delete this;
diff -Naur DFB++-9999_orig/dfb++/idirectfbimageprovider.cpp 
DFB++-9999/dfb++/idirectfbimageprovider.cpp
--- DFB++-9999_orig/dfb++/idirectfbimageprovider.cpp    2007-12-17 
18:05:53.000000000 +0100
+++ DFB++-9999/dfb++/idirectfbimageprovider.cpp 2008-06-09 12:32:07.000000000 
+0200
@@ -37,7 +37,7 @@
 
 IDirectFBImageProvider *IDirectFBImageProvider::AddRef()
 {
-     DFBCHECK( iface->AddRef (iface) );
+     DFBCHECK( DFBResult ( iface->AddRef (iface) ) );
 
      refs++;
 
@@ -46,7 +46,7 @@
 
 void IDirectFBImageProvider::Release()
 {
-     DFBCHECK( iface->Release (iface) );
+     DFBCHECK( DFBResult ( iface->Release (iface) ) );
 
      if (--refs == 0)
           delete this;
diff -Naur DFB++-9999_orig/dfb++/idirectfbinputdevice.cpp 
DFB++-9999/dfb++/idirectfbinputdevice.cpp
--- DFB++-9999_orig/dfb++/idirectfbinputdevice.cpp      2007-12-17 
18:05:53.000000000 +0100
+++ DFB++-9999/dfb++/idirectfbinputdevice.cpp   2008-06-09 12:32:50.000000000 
+0200
@@ -37,7 +37,7 @@
 
 IDirectFBInputDevice *IDirectFBInputDevice::AddRef()
 {
-     DFBCHECK( iface->AddRef (iface) );
+     DFBCHECK( DFBResult ( iface->AddRef (iface) ) );
 
      refs++;
 
@@ -46,7 +46,7 @@
 
 void IDirectFBInputDevice::Release()
 {
-     DFBCHECK( iface->Release (iface) );
+     DFBCHECK( DFBResult ( iface->Release (iface) ) );
 
      if (--refs == 0)
           delete this;
diff -Naur DFB++-9999_orig/dfb++/idirectfbpalette.cpp 
DFB++-9999/dfb++/idirectfbpalette.cpp
--- DFB++-9999_orig/dfb++/idirectfbpalette.cpp  2007-12-17 18:05:53.000000000 
+0100
+++ DFB++-9999/dfb++/idirectfbpalette.cpp       2008-06-09 12:33:18.000000000 
+0200
@@ -37,7 +37,7 @@
 
 IDirectFBPalette *IDirectFBPalette::AddRef()
 {
-     DFBCHECK( iface->AddRef (iface) );
+     DFBCHECK( DFBResult ( iface->AddRef (iface) ) );
 
      refs++;
 
@@ -46,7 +46,7 @@
 
 void IDirectFBPalette::Release()
 {
-     DFBCHECK( iface->Release (iface) );
+     DFBCHECK( DFBResult ( iface->Release (iface) ) );
 
      if (--refs == 0)
           delete this;
diff -Naur DFB++-9999_orig/dfb++/idirectfbscreen.cpp 
DFB++-9999/dfb++/idirectfbscreen.cpp
--- DFB++-9999_orig/dfb++/idirectfbscreen.cpp   2007-12-17 18:05:53.000000000 
+0100
+++ DFB++-9999/dfb++/idirectfbscreen.cpp        2008-06-09 12:33:44.000000000 
+0200
@@ -37,7 +37,7 @@
 
 IDirectFBScreen *IDirectFBScreen::AddRef()
 {
-     DFBCHECK( iface->AddRef (iface) );
+     DFBCHECK( DFBResult ( iface->AddRef (iface) ) );
 
      refs++;
 
@@ -46,7 +46,7 @@
 
 void IDirectFBScreen::Release()
 {
-     DFBCHECK( iface->Release (iface) );
+     DFBCHECK( DFBResult ( iface->Release (iface) ) );
 
      if (--refs == 0)
           delete this;
diff -Naur DFB++-9999_orig/dfb++/idirectfbsurface.cpp 
DFB++-9999/dfb++/idirectfbsurface.cpp
--- DFB++-9999_orig/dfb++/idirectfbsurface.cpp  2007-12-17 18:05:53.000000000 
+0100
+++ DFB++-9999/dfb++/idirectfbsurface.cpp       2008-06-09 12:34:30.000000000 
+0200
@@ -37,7 +37,7 @@
 
 IDirectFBSurface *IDirectFBSurface::AddRef()
 {
-     DFBCHECK( iface->AddRef (iface) );
+     DFBCHECK( DFBResult ( iface->AddRef (iface) ) );
 
      refs++;
 
@@ -46,7 +46,7 @@
 
 void IDirectFBSurface::Release()
 {
-     DFBCHECK( iface->Release (iface) );
+     DFBCHECK( DFBResult ( iface->Release (iface) ) );
 
      if (--refs == 0)
           delete this;
diff -Naur DFB++-9999_orig/dfb++/idirectfbvideoprovider.cpp 
DFB++-9999/dfb++/idirectfbvideoprovider.cpp
--- DFB++-9999_orig/dfb++/idirectfbvideoprovider.cpp    2007-12-17 
18:05:53.000000000 +0100
+++ DFB++-9999/dfb++/idirectfbvideoprovider.cpp 2008-06-09 12:35:03.000000000 
+0200
@@ -37,7 +37,7 @@
 
 IDirectFBVideoProvider *IDirectFBVideoProvider::AddRef()
 {
-     DFBCHECK( iface->AddRef (iface) );
+     DFBCHECK( DFBResult ( iface->AddRef (iface) ) );
 
      refs++;
 
@@ -46,7 +46,7 @@
 
 void IDirectFBVideoProvider::Release()
 {
-     DFBCHECK( iface->Release (iface) );
+     DFBCHECK( DFBResult ( iface->Release (iface) ) );
 
      if (--refs == 0)
           delete this;
diff -Naur DFB++-9999_orig/dfb++/idirectfbwindow.cpp 
DFB++-9999/dfb++/idirectfbwindow.cpp
--- DFB++-9999_orig/dfb++/idirectfbwindow.cpp   2007-12-17 18:05:53.000000000 
+0100
+++ DFB++-9999/dfb++/idirectfbwindow.cpp        2008-06-09 12:35:37.000000000 
+0200
@@ -37,7 +37,7 @@
 
 IDirectFBWindow *IDirectFBWindow::AddRef()
 {
-     DFBCHECK( iface->AddRef (iface) );
+     DFBCHECK( DFBResult ( iface->AddRef (iface) ) );
 
      refs++;
 
@@ -46,7 +46,7 @@
 
 void IDirectFBWindow::Release()
 {
-     DFBCHECK( iface->Release (iface) );
+     DFBCHECK( DFBResult ( iface->Release (iface) ) );
 
      if (--refs == 0)
           delete this;
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to