Commit 0b4ed387 authored by Peter Seiderer's avatar Peter Seiderer Committed by Peter Korsgaard
Browse files

qt: fix directfb-1.7.7 compile errors

parent 113dc8f3
Loading
Loading
Loading
Loading
+163 −0
Original line number Diff line number Diff line
From ea46f47fb3c475ba2d7581c15185b8d43e63b8c2 Mon Sep 17 00:00:00 2001
From: Peter Seiderer <ps.report@gmx.net>
Date: Fri, 27 Feb 2015 21:30:52 +0100
Subject: [PATCH] Fix conversion/constructor error for legacy c++ compiler.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Fixes the following compile error with legacy c++ compiler:

error: in C++98 ‘blitRect’ must be initialized by constructor, not by ‘{...}’

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp   | 14 +++++++-------
 src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp        |  6 +++---
 src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp        |  6 +++---
 src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp |  2 +-
 4 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
index 876d0c2..ed69386 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
@@ -942,7 +942,7 @@ void QDirectFBPaintEngine::drawBufferSpan(const uint *buffer, int bufsize,
     IDirectFBSurface *src = d->surfaceCache->getSurface(buffer, bufsize);
     // ### how does this play with setDFBColor
     src->SetColor(src, 0, 0, 0, const_alpha);
-    const DFBRectangle rect = { 0, 0, length, 1 };
+    const DFBRectangle rect = (DFBRectangle_C){ 0, 0, length, 1 };
     d->surface->Blit(d->surface, src, &rect, x, y);
 }
 
@@ -1223,14 +1223,14 @@ void QDirectFBPaintEnginePrivate::blit(const QRectF &dest, IDirectFBSurface *s,
     const QRect dr = engine->state()->matrix.mapRect(dest).toRect();
     if (dr.isEmpty())
         return;
-    const DFBRectangle sRect = { sr.x(), sr.y(), sr.width(), sr.height() };
+    const DFBRectangle sRect = (DFBRectangle_C){ sr.x(), sr.y(), sr.width(), sr.height() };
     DFBResult result;
 
     if (dr.size() == sr.size()) {
         result = surface->Blit(surface, s, &sRect, dr.x(), dr.y());
     } else {
         Q_ASSERT(supportsStretchBlit());
-        const DFBRectangle dRect = { dr.x(), dr.y(), dr.width(), dr.height() };
+        const DFBRectangle dRect = (DFBRectangle_C){ dr.x(), dr.y(), dr.width(), dr.height() };
         result = surface->StretchBlit(surface, s, &sRect, &dRect);
     }
     if (result != DFB_OK)
@@ -1261,7 +1261,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
     if (newClip.isNull())
         return;
 
-    const DFBRegion clip = {
+    const DFBRegion clip = (DFBRegion_C){
         newClip.x(),
         newClip.y(),
         newClip.right(),
@@ -1295,7 +1295,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
         while (y <= destinationRect.bottom()) {
             qreal x = startX;
             while (x <= destinationRect.right()) {
-                const DFBRectangle destination = { qRound(x), qRound(y), mappedSize.width(), mappedSize.height() };
+                const DFBRectangle destination = (DFBRectangle_C){ qRound(x), qRound(y), (int)mappedSize.width(), (int)mappedSize.height() };
                 surface->StretchBlit(surface, sourceSurface, 0, &destination);
                 x += mappedSize.width();
             }
@@ -1337,7 +1337,7 @@ void QDirectFBPaintEnginePrivate::drawTiledPixmap(const QRectF &dest, const QPix
     if (currentClip.isEmpty()) {
         surface->SetClip(surface, 0);
     } else {
-        const DFBRegion clip = {
+        const DFBRegion clip = (DFBRegion_C){
             currentClip.x(),
             currentClip.y(),
             currentClip.right(),
@@ -1356,7 +1356,7 @@ void QDirectFBPaintEnginePrivate::updateClip()
         surface->SetClip(surface, NULL);
         clipType = NoClip;
     } else if (clipData->hasRectClip) {
-        const DFBRegion r = {
+        const DFBRegion r = (DFBRegion_C){
             clipData->clipRect.x(),
             clipData->clipRect.y(),
             clipData->clipRect.right(),
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
index 412e684..c59c47d 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
@@ -363,7 +363,7 @@ void QDirectFBPixmapData::copy(const QPixmapData *data, const QRect &rect)
     } else {
         dfbSurface->SetBlittingFlags(dfbSurface, DSBLIT_NOFX);
     }
-    const DFBRectangle blitRect = { rect.x(), rect.y(),
+    const DFBRectangle blitRect = (DFBRectangle_C){ rect.x(), rect.y(),
                                     rect.width(), rect.height() };
     w = rect.width();
     h = rect.height();
@@ -465,7 +465,7 @@ QPixmap QDirectFBPixmapData::transformed(const QTransform &transform,
     }
     data->dfbSurface->SetBlittingFlags(data->dfbSurface, flags);
 
-    const DFBRectangle destRect = { 0, 0, size.width(), size.height() };
+    const DFBRectangle destRect = (DFBRectangle_C){ 0, 0, size.width(), size.height() };
     data->dfbSurface->StretchBlit(data->dfbSurface, dfbSurface, 0, &destRect);
     data->w = size.width();
     data->h = size.height();
@@ -551,7 +551,7 @@ bool QDirectFBPixmapData::scroll(int dx, int dy, const QRect &rect)
         return false;
     }
 
-    const DFBRectangle source = { rect.x(), rect.y(), rect.width(), rect.height() };
+    const DFBRectangle source = (DFBRectangle_C){ rect.x(), rect.y(), rect.width(), rect.height() };
     result = dfbSurface->Blit(dfbSurface, dfbSurface, &source, source.x + dx, source.y + dy);
     if (result != DFB_OK) {
         DirectFBError("QDirectFBPixmapData::scroll", result);
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
index eab9580..d26e5bf 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
@@ -1635,7 +1635,7 @@ void QDirectFBScreen::solidFill(const QColor &color, const QRegion &region)
 static inline void clearRect(IDirectFBSurface *surface, const QColor &color, const QRect &rect)
 {
     Q_ASSERT(surface);
-    const DFBRegion region = { rect.left(), rect.top(), rect.right(), rect.bottom() };
+    const DFBRegion region = (DFBRegion_C){ rect.left(), rect.top(), rect.right(), rect.bottom() };
     // could just reinterpret_cast this to a DFBRegion
     surface->SetClip(surface, &region);
     surface->Clear(surface, color.red(), color.green(), color.blue(), color.alpha());
@@ -1716,14 +1716,14 @@ void QDirectFBScreen::flipSurface(IDirectFBSurface *surface, DFBSurfaceFlipFlags
             const DFBSurfaceFlipFlags nonWaitFlags = flipFlags & ~DSFLIP_WAIT;
             for (int i=0; i<rects.size(); ++i) {
                 const QRect &r = rects.at(i);
-                const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(),
+                const DFBRegion dfbReg = (DFBRegion_C){ r.x() + offset.x(), r.y() + offset.y(),
                                            r.right() + offset.x(),
                                            r.bottom() + offset.y() };
                 surface->Flip(surface, &dfbReg, i + 1 < rects.size() ? nonWaitFlags : flipFlags);
             }
         } else {
             const QRect r = region.boundingRect();
-            const DFBRegion dfbReg = { r.x() + offset.x(), r.y() + offset.y(),
+            const DFBRegion dfbReg = (DFBRegion_C){ r.x() + offset.x(), r.y() + offset.y(),
                                        r.right() + offset.x(),
                                        r.bottom() + offset.y() };
             surface->Flip(surface, &dfbReg, flipFlags);
diff --git a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
index 4dff907..25ad06b 100644
--- a/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
+++ b/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
@@ -333,7 +333,7 @@ bool QDirectFBWindowSurface::scroll(const QRegion &region, int dx, int dy)
     }
     dfbSurface->SetBlittingFlags(dfbSurface, DSBLIT_NOFX);
     const QRect r = region.boundingRect();
-    const DFBRectangle rect = { r.x(), r.y(), r.width(), r.height() };
+    const DFBRectangle rect = (DFBRectangle_C){ r.x(), r.y(), r.width(), r.height() };
     dfbSurface->Blit(dfbSurface, dfbSurface, &rect, r.x() + dx, r.y() + dy);
     return true;
 }
-- 
2.1.4