diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-08-12 16:01:51 +0100 |
---|---|---|
committer | Xisco Fauli <xiscofauli@libreoffice.org> | 2021-08-13 10:03:22 +0200 |
commit | ca07445944d8a48e810a9399aef5792b92977194 (patch) | |
tree | c7f636977719ac378b596169788a8bede9c80311 /sfx2 | |
parent | b79925cb839093aa11e21e618318bd23630d0b65 (diff) |
Resolves: tdf#143843 disable the recently-used widget during load
We show a busy-cursor but the widget can still be interacted with so
another document can be launched by clicking on another recently-used
item while the first one is still loading, and the recently-used widget
isn't prepared for this scenario so the second to complete load will
crash.
Disable the recently-used widget when its cursor is set to busy, and in
the (unlikely) case that the load doesn't complete normally (missing
document or load filter error) and the recently-used widget still exists
and its cursor is unset from busy then reenable it for user input at
that point.
Change-Id: I8f4487f3dbede14c9778e49442366bd9445f1d63
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120363
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'sfx2')
-rw-r--r-- | sfx2/source/control/recentdocsview.cxx | 1 | ||||
-rw-r--r-- | sfx2/source/control/recentdocsviewitem.cxx | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/sfx2/source/control/recentdocsview.cxx b/sfx2/source/control/recentdocsview.cxx index e74c354bef92..4bd614bf8836 100644 --- a/sfx2/source/control/recentdocsview.cxx +++ b/sfx2/source/control/recentdocsview.cxx @@ -431,6 +431,7 @@ IMPL_LINK( RecentDocsView, ExecuteHdl_Impl, void*, p, void ) { pLoadRecentFile->pView->DispatchedLoadRecentUsedFile(); pLoadRecentFile->pView->SetPointer(PointerStyle::Arrow); + pLoadRecentFile->pView->Enable(); } delete pLoadRecentFile; diff --git a/sfx2/source/control/recentdocsviewitem.cxx b/sfx2/source/control/recentdocsviewitem.cxx index 8a047b20ee8d..d5dafe2d0e2c 100644 --- a/sfx2/source/control/recentdocsviewitem.cxx +++ b/sfx2/source/control/recentdocsviewitem.cxx @@ -178,6 +178,7 @@ void RecentDocsViewItem::OpenDocument() { // show busy mouse pointer mrParentView.SetPointer(PointerStyle::Wait); + mrParentView.Disable(); Reference<frame::XDispatch> xDispatch; css::util::URL aTargetURL; |