summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2010-10-21 16:07:49 +0100
committerCaolán McNamara <caolanm@redhat.com>2010-10-21 16:08:05 +0100
commitbe0464f721b5b4b75fdfa1cbf2f74cf35bff07db (patch)
tree0f610d8519b81f105317b3a4251895d6e9ae73ef /sw
parent27442a0ffdd4ae178e5707ba041eee2df507bf2f (diff)
make address book sub dialog behave correctly
Diffstat (limited to 'sw')
-rw-r--r--sw/source/ui/dbui/addresslistdialog.cxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/sw/source/ui/dbui/addresslistdialog.cxx b/sw/source/ui/dbui/addresslistdialog.cxx
index 2869142c54..fbe08ef44d 100644
--- a/sw/source/ui/dbui/addresslistdialog.cxx
+++ b/sw/source/ui/dbui/addresslistdialog.cxx
@@ -519,6 +519,18 @@ IMPL_STATIC_LINK(SwAddressListDialog, StaticListBoxSelectHdl_Impl, SvLBoxEntry*,
pUserData = static_cast<AddressUserData_Impl*>(pSelect->GetUserData());
if(pUserData->nTableAndQueryCount > 1 || pUserData->nTableAndQueryCount == -1)
{
+ /*
+ * We're a callback from a selection from a list box, which takes
+ * place on mouse down before mouse up. The next dialog also has a
+ * list box. Spawning it means this list box doesn't get the mouse
+ * down event. So it sticks on "making selection" mode. So if you
+ * cancel the next dialog and just move the mouse out of this entry
+ * and back then the dialog pops up again, without requiring a click
+ *
+ * Most expedient thing to do is to manually end the parent selection
+ * here.
+ */
+ pThis->m_aListLB.EndSelection();
pThis->DetectTablesAndQueries(pSelect, !sTable.Len());
}
else