commit 7e8c43a90497ca0ea90af6640f2b2017c42c4747
Author: Juergen Spitzmueller <[email protected]>
Date:   Tue May 26 19:33:07 2015 +0200

    If there is an inset at cursor, connect the dialog with that, not the 
containing one
    
    Fixes: #8716 ("minipage within minipage" Settings bug)
    
    This is a potential candidate for branch, but only after some more testing.

diff --git a/src/frontends/qt4/Dialog.cpp b/src/frontends/qt4/Dialog.cpp
index 17db593..a9c1250 100644
--- a/src/frontends/qt4/Dialog.cpp
+++ b/src/frontends/qt4/Dialog.cpp
@@ -219,11 +219,23 @@ bool Dialog::isVisibleView() const
 
 Inset const * Dialog::inset(InsetCode code) const
 {
+       // ins: the innermost inset of the type we look for
+       //      that contains the cursor
        Inset * ins = bufferview()->cursor().innerInsetOfType(code);
-       if (!ins)
-               ins = bufferview()->cursor().nextInset();
-       if (!ins || ins->lyxCode() != code)
-               return 0;
+       // next: a potential inset at cursor position
+       Inset * next = bufferview()->cursor().nextInset();
+       // Check if next is of the type we look for
+       if (next)
+               if (next->lyxCode() != code)
+                       next = 0;
+       if (ins) {
+               // prefer next if it is of the requested type (bug 8716)
+               if (next)
+                       ins = next;
+       } else
+               // no containing inset of requested type
+               // use next (which might also be 0)
+               ins = next;
        return ins;
 }
 
diff --git a/status.21x b/status.21x
index a63ee23..d07cc98 100644
--- a/status.21x
+++ b/status.21x
@@ -64,6 +64,8 @@ What's new
 * USER INTERFACE
 
 - Fix automatic insertion of longtable captions (bug 9692).
+
+- Fix setting of nested minipage via the dialog (bug 8716).
  
 
 * INTERNALS

Reply via email to