[Libreoffice-commits] core.git: Branch 'libreoffice-4-1' - vcl/source

Caolán McNamara caolanm at redhat.com
Fri Aug 30 13:04:14 PDT 2013


 vcl/source/window/dialog.cxx |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 8e71befa4756de72675569649684fb4c34773e9b
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Fri Aug 30 14:18:40 2013 +0100

    Resolves: fdo#68396 Yield allowed layout timer to run during init layout
    
    There are multiple pages getting generated in the styles dialog because the
    dropcaps preview window calls "Yield" sometimes and sometimes the layout timer
    gets a chance to activate *during* the creation of the dialog so there ends up
    with two consecutive activations of some tabpages which has wonderful eventual
    know on effects resulting in that crash later on.
    
    Easiest thing is to disable the layout timer during the initial size
    calculation
    
    Change-Id: I7fb0a7ff89aa2c6013c5d8014deface107610000
    (cherry picked from commit fe1cbda3b7513e0d3686d347aa991e7231067384)
    Reviewed-on: https://gerrit.libreoffice.org/5696
    Reviewed-by: Norbert Thiebaud <nthiebaud at gmail.com>
    Tested-by: Norbert Thiebaud <nthiebaud at gmail.com>

diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index 909b638..b0bc71b 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -1247,7 +1247,7 @@ IMPL_LINK( Dialog, ImplHandleLayoutTimerHdl, void*, EMPTYARG )
 
 void Dialog::queue_layout()
 {
-    if (hasPendingLayout())
+    if (hasPendingLayout() || isCalculatingInitialLayoutSize())
         return;
     if (IsInClose())
         return;


More information about the Libreoffice-commits mailing list