vcl/aqua/source/a11y/aqua11ywrapper.mm |    4 ++++
 1 file changed, 4 insertions(+)

New commits:
commit 887f67674108b5f45e7748f6fbbf1fa0131b0ba8
Author: Tor Lillqvist <[email protected]>
Date:   Wed Sep 26 16:01:09 2012 +0300

    Silly workaround for fdo#55156
    
    I feel dirty now.
    
    Change-Id: I1cafb0c0494d56bc9c81594c2145b2cc4a1ee389
    Reviewed-on: https://gerrit.libreoffice.org/710
    Reviewed-by: Michael Meeks <[email protected]>
    Tested-by: Michael Meeks <[email protected]>

diff --git a/vcl/aqua/source/a11y/aqua11ywrapper.mm 
b/vcl/aqua/source/a11y/aqua11ywrapper.mm
index 2398e82..1be3e4a 100644
--- a/vcl/aqua/source/a11y/aqua11ywrapper.mm
+++ b/vcl/aqua/source/a11y/aqua11ywrapper.mm
@@ -378,12 +378,16 @@ static BOOL isPopupMenuOpen = NO;
 -(id)windowAttribute {
     // go upstairs until reaching the broken connection
     AquaA11yWrapper * aWrapper = self;
+    int loops = 0;
     while ( [ aWrapper accessibleContext ] -> getAccessibleParent().is() ) {
         AquaA11yWrapper *aTentativeParentWrapper = [ AquaA11yFactory 
wrapperForAccessibleContext: [ aWrapper accessibleContext ] -> 
getAccessibleParent() -> getAccessibleContext() ];
         // Quick-and-dirty fix for infinite loop after fixing crash in
         // fdo#47275
         if ( aTentativeParentWrapper == aWrapper )
             break;
+        // Even dirtier fix for infinite loop in fdo#55156
+        if ( loops++ == 100 )
+            break;
         aWrapper = aTentativeParentWrapper;
         [ aWrapper autorelease ];
     }
_______________________________________________
Libreoffice-commits mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to