| Summary: | docked windows shrink up to zero size on resize | ||
|---|---|---|---|
| Product: | LibreOffice | Reporter: | Ivan Timofeev (retired) <timofeev.i.s> |
| Component: | UI | Assignee: | Prashant <prashant3.yishu> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | arnaud.versini, prashant3.yishu |
| Priority: | high | Keywords: | regression |
| Version: | 4.2.0.0.alpha0+ Master | ||
| Hardware: | Other | ||
| OS: | All | ||
| Whiteboard: | target:4.2.0 | ||
| Crash report or crash signature: | Regression By: | ||
| Bug Depends on: | |||
| Bug Blocks: | 65675, 74519 | ||
|
Description
Ivan Timofeev (retired)
2013-10-05 06:12:35 UTC
confirmed on Ubuntu, mark as high importance. Adding to Most Annoying bugs.
Prashant: The problem is that mpSplitSet->mpItems[mnSplitPos].mnMaxSize can be -1 (meaning no limit) which here turns into -1 always; but even if we do something like
--- a/vcl/source/window/splitwin.cxx
+++ b/vcl/source/window/splitwin.cxx
@@ -2559,12 +2559,14 @@ void SplitWindow::Tracking( const TrackingEvent& rTEvt )
// where is the sidebar is attached?
if ( (mpSplitSet == mpMainSet) && mbBottomRight )
- nNewSize = mnMaxSize - mnMStartPos; // right hand side of the screen
+ nNewSize = mnMaxSize - mnMSplitPos; // right hand side of the screen
else
- nNewSize = mnMStartPos; // left hand side of the screen
+ nNewSize = mnMSplitPos; // left hand side of the screen
// do not make the sidebar wider than mnMaxSize
- nNewSize = std::min(nNewSize, mpSplitSet->mpItems[mnSplitPos].mnMaxSize);
+ nNewSize = std::max(nNewSize, 0L);
+ if (mpSplitSet->mpItems[mnSplitPos].mnMaxSize > 0)
+ nNewSize = std::min(nNewSize, mpSplitSet->mpItems[mnSplitPos].mnMaxSize);
SplitItem( mpSplitSet->mpItems[mnSplitPos].mnId, nNewSize,
bPropSmaller, bPropGreater );
there are still some corner cases that need to sort out, namingly:
* F5 + dock it
* make the Writer window smaller
* move the handle with the mouse to 0 and back, and see how the navigator keeps growing until it fills the entire window
Please have a look :-)
I'll revert 16ea2dc1f572d698923c770a2a58f7ab402d1298 for now, let's push it again when we have the full solution. Jan Holesovsky committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=6f17d2bccbf8dd63736a49e227d1984da6a72a65 fdo#70160: Revert "Sidebar: Correcting anomalous mouse behaviour while resizing" The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. So, is this fixed now and can be closed ? I'm going to call this fixed. If I misunderstand feel free to reopen |