diff options
author | Michael Stahl <mstahl@redhat.com> | 2014-08-07 11:24:18 +0200 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2014-08-21 21:24:33 +0200 |
commit | 358428c90e383082fcb6089722b33337b23a8d4a (patch) | |
tree | 25339e1af93a88ba5b253a96bd6ca0d6435d4a7b /sfx2 | |
parent | 60d29a89ba8415530833c12d9a91671429d38dd8 (diff) |
rhbz#1079672: FileDialogHelper: don't hand out stale preview Graphic
The maGraphic is updated from a timer, and if you double-click on a file
then the dialog may exit with the previous file still previewed in
maGraphic, so the wrong image is returned by the dialog.
Change-Id: I99094d85d8d68d5c8a842f52e7039dbbbf095995
(cherry picked from commit f1589f768bbd1d8baea6e442f392831851bdbb3b)
Reviewed-on: https://gerrit.libreoffice.org/10804
Reviewed-by: David Tardon <dtardon@redhat.com>
Tested-by: David Tardon <dtardon@redhat.com>
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/dialog/filedlghelper.cxx | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/sfx2/source/dialog/filedlghelper.cxx b/sfx2/source/dialog/filedlghelper.cxx index c8178a4420f6..28a8060dcc86 100644 --- a/sfx2/source/dialog/filedlghelper.cxx +++ b/sfx2/source/dialog/filedlghelper.cxx @@ -789,23 +789,20 @@ ErrCode FileDialogHelper_Impl::getGraphic( Graphic& rGraphic ) const { ErrCode nRet = ERRCODE_NONE; - if ( ! maGraphic ) - { - OUString aPath;; - Sequence < OUString > aPathSeq = mxFileDlg->getFiles(); + // rhbz#1079672 do not return maGraphic, it need not be the selected file - if ( aPathSeq.getLength() == 1 ) - { - aPath = aPathSeq[0]; - } + OUString aPath;; + Sequence<OUString> aPathSeq = mxFileDlg->getFiles(); - if ( !aPath.isEmpty() ) - nRet = getGraphic( aPath, rGraphic ); - else - nRet = ERRCODE_IO_GENERAL; + if (aPathSeq.getLength() == 1) + { + aPath = aPathSeq[0]; } + + if (!aPath.isEmpty()) + nRet = getGraphic(aPath, rGraphic); else - rGraphic = maGraphic; + nRet = ERRCODE_IO_GENERAL; return nRet; } |