[Libreoffice-commits] .: vcl/unx
Lucas Baudin
lbaudin at kemper.freedesktop.org
Sat Mar 3 06:45:37 PST 2012
vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
New commits:
commit 1cf3e446744ae679bc89b39dcbbcf6b4e9821f3a
Author: Lucas Baudin <xapantu at gmail.com>
Date: Sat Mar 3 15:44:54 2012 +0100
gtk3: Avoid crash with some themes (unico based)
We didn't check wether the window was big enough to draw all the widgets. Sometimes, when the window was displaying, it was too small and drawing outside of the window caused a crash, we didn't take into account that the root point for drawing gtk3 widgets wasn't always (0,0).
diff --git a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
index 95aa313..6bfad00 100644
--- a/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
+++ b/vcl/unx/gtk3/gdi/gtk3salnativewidgets-gtk.cxx
@@ -1002,8 +1002,10 @@ void GtkSalGraphics::renderAreaToPix( cairo_t *cr,
unsigned char *src = data.get();
src += (int)ay * nStride + (int)ax * 3;
+ awidth = MIN (region->width, size.getX() - ax);
+ aheight = MIN (region->height, size.getY() - ay);
- for (int y = 0; y < size.getY(); ++y)
+ for (int y = 0; y < aheight; ++y)
{
for (int x = 0; x < awidth && y < aheight; ++x)
{
More information about the Libreoffice-commits
mailing list