Hi Caolán,
30.01.2012 21:08, Caolán McNamara пишет:
The original code with...
git show 7b0b5cdf source/ui/inc/scroll.hxx source/ui/uiview/scroll.cxx
it seems that this SwScrollbar had its own SwScrollbar::Show method and
inherits from Window which has a Window::Show method as well. The
Window::Show isn't virtual, so it was just an unfortunately named
wrapper method that only works if called directly.
git show 5eeb54d5 then appears to replace a lot of "Show" with
Scrollbar::Show so various code paths that used to go through the
Wrapper method no longer do, but go direct to the baseclass Show.
02a9026b then comes along and fixes the warning that SwScrollbar::Show
hides the Window::Show by renaming it ExtendedShow
So... at the lines where we currently have ScrollBar::Show, where your
patch adds bVisible = ..., the code used to call what is now
"ExtendedShow" which sets bVisible = ... as well as some other stuff.
Wow, great explanation, thank you!
At this stage it's a mangled train-wreck and e.g. changing the
SwScrollbar::Show lines (except the one inside SwScrollbar::Show itself)
back to ExtendedShow might trigger another pile of bugs.
Yes, that doesn't work, there is the suspicious condition inside
ExtendedShow...
if( (!bSet || !bAuto) && IsUpdateMode() && bSizeSet)
ScrollBar::Show(bSet);
On the one hand, adding bVisible = ... works in the cases which I
tested, on the other hand, it's impermissible to add the code without
actual understanding how it will work. So, I'm confused...
I think the right thing to do is to look at the SwScrollbar usages and
try to remove this bVisible insanity, if it's ever possible...
Regards,
Ivan
Context
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.