|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
From e1b57d025b0523479fe906f050c5639ad280b481 Mon Sep 17 00:00:00 2001
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
From: Michael Stahl <mstahl@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
Date: Thu, 7 Aug 2014 11:24:18 +0200
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
Subject: [PATCH] rhbz#1079672: FileDialogHelper: don't hand out stale preview
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
Graphic
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
The maGraphic is updated from a timer, and if you double-click on a file
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
then the dialog may exit with the previous file still previewed in
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
maGraphic, so the wrong image is returned by the dialog.
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
Change-Id: I99094d85d8d68d5c8a842f52e7039dbbbf095995
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
(cherry picked from commit f1589f768bbd1d8baea6e442f392831851bdbb3b)
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
Reviewed-on: https://gerrit.libreoffice.org/10804
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
Reviewed-by: David Tardon <dtardon@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
Tested-by: David Tardon <dtardon@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
---
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
sfx2/source/dialog/filedlghelper.cxx | 23 ++++++++++-------------
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
1 file changed, 10 insertions(+), 13 deletions(-)
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
diff --git a/sfx2/source/dialog/filedlghelper.cxx b/sfx2/source/dialog/filedlghelper.cxx
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
index c8178a4..28a8060 100644
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
--- a/sfx2/source/dialog/filedlghelper.cxx
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
+++ b/sfx2/source/dialog/filedlghelper.cxx
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
@@ -789,23 +789,20 @@ ErrCode FileDialogHelper_Impl::getGraphic( Graphic& rGraphic ) const
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
{
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
ErrCode nRet = ERRCODE_NONE;
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
- if ( ! maGraphic )
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
- {
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
- OUString aPath;;
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
- Sequence < OUString > aPathSeq = mxFileDlg->getFiles();
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
+ // rhbz#1079672 do not return maGraphic, it need not be the selected file
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
- if ( aPathSeq.getLength() == 1 )
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
- {
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
- aPath = aPathSeq[0];
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
- }
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
+ OUString aPath;;
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
+ Sequence<OUString> aPathSeq = mxFileDlg->getFiles();
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
- if ( !aPath.isEmpty() )
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
- nRet = getGraphic( aPath, rGraphic );
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
- else
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
- nRet = ERRCODE_IO_GENERAL;
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
+ if (aPathSeq.getLength() == 1)
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
+ {
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
+ aPath = aPathSeq[0];
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
}
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
+
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
+ if (!aPath.isEmpty())
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
+ nRet = getGraphic(aPath, rGraphic);
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
else
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
- rGraphic = maGraphic;
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
+ nRet = ERRCODE_IO_GENERAL;
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
return nRet;
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
}
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
--
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
1.9.3
|
|
![](https://seccdn.libravatar.org/avatar/458cba86a9e3c708792786cff75e0477690c6568e870645d469cf18baaf50224?s=16&d=retro) |
c2deef3 |
|