summaryrefslogtreecommitdiff
path: root/svtools
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2015-12-21 14:41:26 +0100
committerCaolán McNamara <caolanm@redhat.com>2015-12-23 16:21:06 +0000
commitad70b07e728c726e50a909d06b057072e7a0f1f3 (patch)
treec6674df41086c7f200e158fc2662e8b6102caa8d /svtools
parentd4c6c90c3491cf37181b13c1b867ac67bb098f80 (diff)
tdf#96637 svtools: fix missing highlight of selected entry in list box
Regression from 87199d3829257420429057336283c55be6ae7481 (vcl: re-introduce idle handling., 2015-11-24), this probably worked previously as the idle repaint triggered SvImpLBox::Paint() multiple (at least two) times, so in the first run it could mark the first entry in the list box as selected/highlighted, and then the second run it could paint accordingly. Now it's called only once, so it's required that selecting the first entry happens before the actual painting. With this, the certificate selection dialog has the default signing certificate pre-selected again. (cherry picked from commit 171ca32e02976022858b9f0affb532a35c495833) Change-Id: I0546bf673f44f4270e36b9bbf02bb723f23d6160 Reviewed-on: https://gerrit.libreoffice.org/20850 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'svtools')
-rw-r--r--svtools/source/contnr/svimpbox.cxx14
1 files changed, 7 insertions, 7 deletions
diff --git a/svtools/source/contnr/svimpbox.cxx b/svtools/source/contnr/svimpbox.cxx
index 17b8c76fa761..fbe6a3266706 100644
--- a/svtools/source/contnr/svimpbox.cxx
+++ b/svtools/source/contnr/svimpbox.cxx
@@ -937,6 +937,13 @@ void SvImpLBox::Paint(vcl::RenderContext& rRenderContext, const Rectangle& rRect
rRenderContext.SetClipRegion(aClipRegion);
+ if (!pCursor && ((nExtendedWinBits & EWB_NO_AUTO_CURENTRY) == 0))
+ {
+ // do not select if multiselection or explicit set
+ bool bNotSelect = (aSelEng.GetSelectionMode() == MULTIPLE_SELECTION ) || ((m_nStyle & WB_NOINITIALSELECTION) == WB_NOINITIALSELECTION);
+ SetCursor(pStartEntry, bNotSelect);
+ }
+
for(sal_uInt16 n=0; n< nCount && pEntry; n++)
{
/*long nMaxRight=*/
@@ -945,13 +952,6 @@ void SvImpLBox::Paint(vcl::RenderContext& rRenderContext, const Rectangle& rRect
pEntry = pView->NextVisible(pEntry);
}
- if (!pCursor && ((nExtendedWinBits & EWB_NO_AUTO_CURENTRY) == 0))
- {
- // do not select if multiselection or explicit set
- bool bNotSelect = (aSelEng.GetSelectionMode() == MULTIPLE_SELECTION ) || ((m_nStyle & WB_NOINITIALSELECTION) == WB_NOINITIALSELECTION);
- SetCursor(pStartEntry, bNotSelect);
- }
-
nFlags &= (~F_DESEL_ALL);
rRenderContext.SetClipRegion();
if (!(nFlags & F_PAINTED))