[ooo-build-commit] Branch 'ooo-build-3-1-1' - 2 commits - patches/dev300

Thorsten Behrens thorsten at kemper.freedesktop.org
Thu Nov 26 10:59:03 PST 2009


 patches/dev300/apply                       |    2 
 patches/dev300/vcl-free-renderpicture.diff |   78 +++++++++++++++++++++++++++++
 2 files changed, 80 insertions(+)

New commits:
commit c38394b85e9d64c0ad4a9c223b3305fa21053ee3
Author: Thorsten Behrens <thb at openoffice.org>
Date:   Thu Nov 26 18:24:02 2009 +0100

    Fix for patch name typo
    
    * patches/dev300/apply:

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 20f9ad5..1d63566 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -3513,8 +3513,8 @@ sd-ppt-fix-document-summary-reading.diff, n#546758, rodo
 # fixes crasher in xml parser
 unoxml-fix-empty-xmlns.diff, rodo
 oox-pptx-import-fix-header-footer-backport.diff, n#549246, rodo
-# fix fullscreen window manager hints
-vcl-fullscreenmode-fix.diff, n#551402, thorsten
+# fix RenderBadPicture crash in xinerama cases
+vcl-free-renderpicture.diff, thorsten
 
 [ HPPA ]
 cws-linuxhppa1.diff, i#107051
commit 4969a12ba299d77aba92a6b7b8098ead7f256d8f
Author: Thorsten Behrens <tbehrens at novell.com>
Date:   Thu Nov 26 16:17:55 2009 +0100

    Fix crash returning from writer fullscreen mode
    
    * patches/dev300/apply: added the fix
    * patches/dev300/vcl-free-renderpicture.diff: release Xrender
      pictures _before_ killing the underlying Drawable. Crash
      happened when exiting Writer fullscreen mode on xinerama
      multi-monitor setups

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 8710941..20f9ad5 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -3513,6 +3513,8 @@ sd-ppt-fix-document-summary-reading.diff, n#546758, rodo
 # fixes crasher in xml parser
 unoxml-fix-empty-xmlns.diff, rodo
 oox-pptx-import-fix-header-footer-backport.diff, n#549246, rodo
+# fix fullscreen window manager hints
+vcl-fullscreenmode-fix.diff, n#551402, thorsten
 
 [ HPPA ]
 cws-linuxhppa1.diff, i#107051
diff --git a/patches/dev300/vcl-free-renderpicture.diff b/patches/dev300/vcl-free-renderpicture.diff
new file mode 100644
index 0000000..b08bab2
--- /dev/null
+++ b/patches/dev300/vcl-free-renderpicture.diff
@@ -0,0 +1,78 @@
+Fix RenderBadPicture crash
+
+From: Thorsten Behrens <thb at openoffice.org>
+
+
+---
+
+ vcl/unx/gtk/window/gtkframe.cxx    |    4 ++++
+ vcl/unx/inc/salframe.h             |    2 +-
+ vcl/unx/source/window/salframe.cxx |    9 +++++----
+ 3 files changed, 10 insertions(+), 5 deletions(-)
+
+
+diff --git vcl/unx/gtk/window/gtkframe.cxx vcl/unx/gtk/window/gtkframe.cxx
+index e3e58b5..3cc1c44 100644
+--- vcl/unx/gtk/window/gtkframe.cxx
++++ vcl/unx/gtk/window/gtkframe.cxx
+@@ -2394,6 +2394,10 @@ void GtkSalFrame::createNewWindow( XLIB_Window aNewParent, bool bXEmbed, int nSc
+         }
+     }
+ 
++    // free xrender resources
++    for( unsigned int i = 0; i < sizeof(m_aGraphics)/sizeof(m_aGraphics[0]); i++ )
++        m_aGraphics[i].pGraphics->SetDrawable( None, m_nScreen );
++
+     // first deinit frame
+     if( m_pIMHandler )
+     {
+diff --git vcl/unx/inc/salframe.h vcl/unx/inc/salframe.h
+index 56eda2c..0a0e201 100644
+--- vcl/unx/inc/salframe.h
++++ vcl/unx/inc/salframe.h
+@@ -212,7 +212,7 @@ public:
+     virtual SalGraphics*		GetGraphics();
+     virtual void				ReleaseGraphics( SalGraphics* pGraphics );
+     
+-    virtual void                updateGraphics();
++    virtual void                updateGraphics( Drawable drawable );
+ 
+     virtual BOOL				PostEvent( void* pData );
+ 
+diff --git vcl/unx/source/window/salframe.cxx vcl/unx/source/window/salframe.cxx
+index 5d0d6f9..cc09809 100644
+--- vcl/unx/source/window/salframe.cxx
++++ vcl/unx/source/window/salframe.cxx
+@@ -930,12 +930,12 @@ void X11SalFrame::ReleaseGraphics( SalGraphics *pGraphics )
+     pGraphics_		= NULL;
+ }
+ 
+-void X11SalFrame::updateGraphics()
++void X11SalFrame::updateGraphics( Drawable drawable )
+ {
+     if( pGraphics_ )
+-        pGraphics_->SetDrawable( GetWindow(), m_nScreen );
++        pGraphics_->SetDrawable( drawable, m_nScreen );
+     if( pFreeGraphics_ )
+-        pFreeGraphics_->SetDrawable( GetWindow(), m_nScreen );
++        pFreeGraphics_->SetDrawable( drawable, m_nScreen );
+ }
+ 
+ // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+@@ -2726,6 +2726,7 @@ void X11SalFrame::createNewWindow( XLIB_Window aNewParent, int nScreen )
+     }
+ 
+     // first deinit frame
++    updateGraphics(None);
+     if( mpInputContext )
+     {
+         mpInputContext->UnsetICFocus( this );
+@@ -2748,7 +2749,7 @@ void X11SalFrame::createNewWindow( XLIB_Window aNewParent, int nScreen )
+         Init( nStyle_ & ~SAL_FRAME_STYLE_PLUG, nScreen, NULL, true );
+ 
+     // update graphics if necessary
+-    updateGraphics();
++    updateGraphics(GetWindow());
+     
+     if( m_aTitle.Len() )
+         SetTitle( m_aTitle );


More information about the ooo-build-commit mailing list