svx/source/tbxctrls/tbcontrl.cxx | 7 +++++++ 1 file changed, 7 insertions(+)
New commits: commit cbe229ec219e56ce1bb5dd9598f9052a98504249 Author: Szymon Kłos <[email protected]> AuthorDate: Wed Nov 27 16:25:54 2024 +0100 Commit: Caolán McNamara <[email protected]> CommitDate: Thu Nov 28 09:44:12 2024 +0100 lok: jsdialog: enable font name box after save When we save - we block UI. In the lok we disable that for some cases like in commit e005690e9c648ce516c1ed60da6341c7215bf2c9 lok: avoid sending jsdialog messages during background save. But we also use save file to generate previews of shapes what happens on eg. resize in Online. Then we trigger disable and enable cycle for frames - and we end with FontNameBox enabled! That was causing the JSDialog combobox still being locked - because frame unlock was using direct VCL API, not weld:: one in the InterimItemWindow. Let's fix that with proper StateChanged handling. So now it is functional. But still I think there is some error in the logic - as after save we should beg the "before save" state of control not "always enabled". But it's different problem. Change-Id: Ia8e5c8c864156271b5f68d482234e83eb57b0deb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/177444 Tested-by: Caolán McNamara <[email protected]> Reviewed-by: Caolán McNamara <[email protected]> diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx index e4c2c68ff93d..cec2c181140a 100644 --- a/svx/source/tbxctrls/tbcontrl.cxx +++ b/svx/source/tbxctrls/tbcontrl.cxx @@ -438,6 +438,13 @@ public: virtual Reference< css::accessibility::XAccessible > CreateAccessible() override; + virtual void StateChanged(StateChangedType nStateChange) override + { + if (nStateChange == StateChangedType::Enable) + m_xWidget->set_sensitive(IsEnabled()); + InterimItemWindow::StateChanged(nStateChange); + } + virtual void set_sensitive(bool bSensitive) override { m_xWidget->set_sensitive(bSensitive);
