Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/773
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/73/773/1
fdo#46071: Do not hide windows based on nil "Visible" property
This appears to be messy: The /org.openoffice.Office.Views/WindowType
configuration group template has both a nilable bool "Visible" property and a
UserData/Data string property that encodes various things like geometry---but
also visibility---in a string.
Now, likely due to the problem that has meanwhile been fixed through
f3f79cc9e6c265baf48955d53f7e888205e0b3e0 "Resolves fdo#46074: Fix
Partial::contains for paths that go past a leaf node," some
registrymodification.xcu files in the wild contain such WindowType entries in
"default" state, without a UserData/Data string and with a nil "Visible"
property.
The way SfxChildWindow::InitializeChildWinFactory_Impl and
SvtViewOptions::IsVisible are implemented, they will always lead to an invisible
window for such broken registrymodification.xcu data (as IsVisible unhelpfully
returns false for a nil value, and InitializeChildWinFactory_Impl uses that
value when there is no UserData/Data string).
For the Math formula editor window (ID 30378) this means that it can disappear
from the UI completely, as there appears to be no UI trigger for the user to
show it in case it is hidden.
The fix is to introdue SvtViewOptions::HasVisible (which only returns true if
the property is not nil) and change InitializeChidlWinFactory_Impl to only use
the value of IsVisible() if HasVisible() returns true. This makes the code even
more baroque, but this is a rather central, generic piece of code for all sorts
of windows, so I do not want to break any other uses by e.g. changing IsVisible
to return true for a nil property.
Change-Id: Iae40075a7116a8aabd2d25aa9334709522e23d8f
(cherry picked from commit 9db74c6133ede2a28af077fd563398176ff0d858)
---
M sfx2/source/appl/childwin.cxx
M unotools/inc/unotools/viewoptions.hxx
M unotools/source/config/viewoptions.cxx
3 files changed, 41 insertions(+), 8 deletions(-)
--
To view, visit https://gerrit.libreoffice.org/773
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iae40075a7116a8aabd2d25aa9334709522e23d8f
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: libreoffice-3-6
Gerrit-Owner: Stephan Bergmann <sbergman@redhat.com>
Context
- [PATCH] Change in core[libreoffice-3-6]: fdo#46071: Do not hide windows based on nil "Visible" proper... · Stephan Bergmann (via Code Review)
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.