1 diff --git a/ilixi/graphics/Surface.cpp b/ilixi/graphics/Surface.cpp
2 index 7489725..84b789f 100644
3 --- a/ilixi/graphics/Surface.cpp
4 +++ b/ilixi/graphics/Surface.cpp
5 @@ -175,7 +175,11 @@ void
6 Surface::setGeometry(int x, int y, int width, int height)
8 ILOG_TRACE(ILX_SURFACE);
9 - DFBRectangle r = { x, y, width, height };
17 DFBResult ret = _dfbSurface->MakeSubSurface(_dfbSurface, _parentSurface, &r);
18 @@ -253,25 +253,41 @@ Surface::flip(const Rectangle& rect)
22 - DFBRectangle rect = { 0, 0, w, r.y1 };
28 _dfbSurface->Blit(_dfbSurface, _dfbSurface, &rect, rect.x, rect.y);
33 - DFBRectangle rect = { 0, r.y2 + 1, w, h - r.y2 - 1 };
38 + rect.h = h - r.y2 - 1;
39 _dfbSurface->Blit(_dfbSurface, _dfbSurface, &rect, rect.x, rect.y);
44 - DFBRectangle rect = { 0, r.y1, r.x1, r.y2 - r.y1 + 1 };
49 + rect.h = r.y2 - r.y1 + 1;
50 _dfbSurface->Blit(_dfbSurface, _dfbSurface, &rect, rect.x, rect.y);
55 - DFBRectangle rect = { r.x2 + 1, r.y1, w - r.x2 - 1, r.y2 - r.y1 + 1 };
59 + rect.w = w - r.x2 - 1;
60 + rect.h = r.y2 - r.y1 + 1;
61 _dfbSurface->Blit(_dfbSurface, _dfbSurface, &rect, rect.x, rect.y);
64 @@ -520,7 +524,11 @@ Surface::setStereoGeometry(const Rectangle& geometry, int zIndex)
66 Surface::setStereoGeometry(int x, int y, int width, int height, int zIndex)
68 - DFBRectangle r = { x, y, width, height };
77 diff --git a/ilixi/types/Rectangle.cpp b/ilixi/types/Rectangle.cpp
78 index 9aa5171..1de5b91 100644
79 --- a/ilixi/types/Rectangle.cpp
80 +++ b/ilixi/types/Rectangle.cpp
81 @@ -341,14 +341,22 @@ DFBBox Rectangle::dfbBox() const
83 Rectangle::dfbRect() const
85 - DFBRectangle r = { x(), y(), width(), height() };
95 Rectangle::dfbRegion() const
97 - DFBRegion r = { x(), y(), right() - 1, bottom() - 1 };
101 + r.x2 = right() - 1;
102 + r.y2 = bottom() - 1;