mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-10 20:04:46 +00:00
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.
This commit is contained in:
parent
06c7604c2e
commit
5353172793
@ -219,11 +219,23 @@ bool Dialog::isVisibleView() const
|
|||||||
|
|
||||||
Inset const * Dialog::inset(InsetCode code) 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);
|
Inset * ins = bufferview()->cursor().innerInsetOfType(code);
|
||||||
if (!ins)
|
// next: a potential inset at cursor position
|
||||||
ins = bufferview()->cursor().nextInset();
|
Inset * next = bufferview()->cursor().nextInset();
|
||||||
if (!ins || ins->lyxCode() != code)
|
// Check if next is of the type we look for
|
||||||
return 0;
|
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;
|
return ins;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user