diff options
author | Caolán McNamara <caolanm@redhat.com> | 2010-10-21 16:07:49 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2010-10-21 16:08:05 +0100 |
commit | be0464f721b5b4b75fdfa1cbf2f74cf35bff07db (patch) | |
tree | 0f610d8519b81f105317b3a4251895d6e9ae73ef | |
parent | 27442a0ffdd4ae178e5707ba041eee2df507bf2f (diff) |
make address book sub dialog behave correctly
-rw-r--r-- | sw/source/ui/dbui/addresslistdialog.cxx | 12 |
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 |