[Libreoffice-commits] .: Branch 'libreoffice-3-4' - 3 commits - canvas/source vcl/unx

Radek Doulík rodo at kemper.freedesktop.org
Tue Jun 28 07:49:57 PDT 2011


 canvas/source/cairo/cairo_spritecanvashelper.cxx |    4 ++--
 vcl/unx/gtk/window/gtkframe.cxx                  |   11 ++++++-----
 2 files changed, 8 insertions(+), 7 deletions(-)

New commits:
commit c9eaa03dac70bde19f17381dc1d993379b8c34cc
Author: Radek Doulik <rodo at novell.com>
Date:   Mon Jun 27 17:34:15 2011 +0200

    do not set minimal size for fullscreen windows
    
     - otherwise they cannot shrink when downsizing resolution of the screen

diff --git a/vcl/unx/gtk/window/gtkframe.cxx b/vcl/unx/gtk/window/gtkframe.cxx
index 9f7d347..5987a81 100644
--- a/vcl/unx/gtk/window/gtkframe.cxx
+++ b/vcl/unx/gtk/window/gtkframe.cxx
@@ -1405,7 +1405,7 @@ void GtkSalFrame::setMinMaxSize()
         int aHints = 0;
         if( m_nStyle & SAL_FRAME_STYLE_SIZEABLE )
         {
-            if( m_aMinSize.Width() && m_aMinSize.Height() )
+            if( m_aMinSize.Width() && m_aMinSize.Height() && ! m_bFullscreen )
             {
                 aGeo.min_width	= m_aMinSize.Width()+CONTAINER_ADJUSTMENT;
                 aGeo.min_height	= m_aMinSize.Height()+CONTAINER_ADJUSTMENT;
@@ -1420,11 +1420,12 @@ void GtkSalFrame::setMinMaxSize()
         }
         else
         {
-            aGeo.min_width = maGeometry.nWidth;
-            aGeo.min_height = maGeometry.nHeight;
-            aHints |= GDK_HINT_MIN_SIZE;
             if( ! m_bFullscreen )
             {
+                aGeo.min_width = maGeometry.nWidth;
+                aGeo.min_height = maGeometry.nHeight;
+                aHints |= GDK_HINT_MIN_SIZE;
+
                 aGeo.max_width = maGeometry.nWidth;
                 aGeo.max_height = maGeometry.nHeight;
                 aHints |= GDK_HINT_MAX_SIZE;
commit 7cd035c10c000565361594119318eab1e5d9f6c1
Author: Radek Doulik <rodo at novell.com>
Date:   Thu Jun 23 13:35:01 2011 +0200

    make sure we send resize event to fullscreen windows
    
     - this fixes regression of i#86302 fix. it happens when screen is resized
       (by xrandr for example) and the fullscreen windows are not notified
       about their size change, because they don't have sizeable style set

diff --git a/vcl/unx/gtk/window/gtkframe.cxx b/vcl/unx/gtk/window/gtkframe.cxx
index f8f5d61..9f7d347 100644
--- a/vcl/unx/gtk/window/gtkframe.cxx
+++ b/vcl/unx/gtk/window/gtkframe.cxx
@@ -3001,7 +3001,7 @@ gboolean GtkSalFrame::signalConfigure( GtkWidget*, GdkEventConfigure* pEvent, gp
      * - which is not good since the window manager will now size the window back to this
      * wrong size at some point.
      */
-    if( (pThis->m_nStyle & (SAL_FRAME_STYLE_SIZEABLE | SAL_FRAME_STYLE_PLUG)) == SAL_FRAME_STYLE_SIZEABLE )
+    if( pThis->m_bFullscreen || (pThis->m_nStyle & (SAL_FRAME_STYLE_SIZEABLE | SAL_FRAME_STYLE_PLUG)) == SAL_FRAME_STYLE_SIZEABLE )
     {
         if( pEvent->width != (int)pThis->maGeometry.nWidth || pEvent->height != (int)pThis->maGeometry.nHeight )
         {
commit 8837e1b9668410f9de3ad55e8bc5cf369ea9d94c
Author: Radek Doulik <rodo at novell.com>
Date:   Wed Jun 22 15:42:50 2011 +0200

    fix condition for compositing surface refresh
    
      - fixes problems on slideshow window shrinking

diff --git a/canvas/source/cairo/cairo_spritecanvashelper.cxx b/canvas/source/cairo/cairo_spritecanvashelper.cxx
index ff0118f..730f7a1 100644
--- a/canvas/source/cairo/cairo_spritecanvashelper.cxx
+++ b/canvas/source/cairo/cairo_spritecanvashelper.cxx
@@ -524,8 +524,8 @@ namespace cairocanvas
 
     ::cairo::SurfaceSharedPtr SpriteCanvasHelper::getCompositingSurface( const ::basegfx::B2ISize& rNeededSize )
     {
-        if( rNeededSize.getX() < maCompositingSurfaceSize.getX() ||
-            rNeededSize.getY() < maCompositingSurfaceSize.getY() )
+        if( rNeededSize.getX() > maCompositingSurfaceSize.getX() ||
+            rNeededSize.getY() > maCompositingSurfaceSize.getY() )
         {
             // need to give buffer more size
             mpCompositingSurface.reset();


More information about the Libreoffice-commits mailing list