Bug 495016 - Quick Access tool scroll bars become ineffective when quick access window is resized
Summary: Quick Access tool scroll bars become ineffective when quick access window is ...
Status: CLOSED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.4.1   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Alexander Zakusylo CLA
QA Contact:
URL:
Whiteboard: stalebug
Keywords:
Depends on:
Blocks: 508717
  Show dependency tree
 
Reported: 2016-05-31 08:40 EDT by yasodha rmsh CLA
Modified: 2020-07-24 04:48 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description yasodha rmsh CLA 2016-05-31 08:40:29 EDT
type 'h' in the quick access bar.

resize the pop-up quick access window so that horizontally, the size is less than the lines of text seen.


A horizontal scroll bar appears.  The scroll bar that appears, when scrolled all the way right, still does not reveal the full text.

Also, the scroll bar does not appear directly at the point where text is being cut off on the right


Also.  Vertical scroll bar flickers on and off upon resizing of Quick Access pop-up.  Potential to miss items at the bottom of the list because there is no scroll bar to get to them (unless you know to resize your window)  Size of Quick Access pop-up box is persistant; user can forget the window is too small.
Comment 1 Eclipse Genie CLA 2016-11-08 05:27:44 EST
New Gerrit change created: https://git.eclipse.org/r/84650
Comment 3 Patrik Suzzi CLA 2016-11-30 04:24:15 EST
Thanks, Oleksandr. It's a great fix!

in master now.
Comment 4 Lars Vogel CLA 2016-12-06 13:05:39 EST
I assume this one is fixed with the comment. Please reopen if that is wrong.
Comment 5 Dani Megert CLA 2016-12-08 06:03:28 EST
This caused bad regressions and got reverted, see bug 508717.
Comment 6 Markus Keller CLA 2016-12-08 06:38:34 EST
(In reply to Dani Megert from comment #5)
> This caused bad regressions and got reverted, see bug 508717.

I'm pretty sure the ultimate cause for bug 508717 was the removal of the display.timerExec(..) in the controlResized(..) method. But the timerExec was just a hack for an utter design failure.

The underlying problem is much deeper: QuickAccessContents#createTable(Composite, int) creates a non-virtual table, and then adds a ControlListener that effectively tries to implement a virtual table. The implementation gets into a vicious circle:

The controlResized callback calls QuickAccessContents#refreshTable(..), which removes and creates TableItems. Table#remove(..), new TableItem(..) etc. call Table#setDeferResize(false/true) which eventually sends an SWT.Resize event that triggers the code at the beginning of this paragraph again.

The widget disposed exception happens because the TableItem that should have been created in QuickAccessContents.java:354 already got disposed by a another call to QuickAccessContents#refreshTable(..). StackOverflowErrors are another natural consequence of this uncontrolled recursion.

With the timerExec, we were more often lucky that the user didn't have a chance to type additional characters at the same time Quick Access tried to refresh the table.

To avoid further breakage, we should not touch Quick Access any more, but rewrite it using a virtual table.
Comment 7 Patrik Suzzi CLA 2016-12-08 08:32:01 EST
(In reply to Markus Keller from comment #6)
> To avoid further breakage, we should not touch Quick Access any more, but
> rewrite it using a virtual table.

Thanks for the Analysis. I added Bug 508903 (enhancement) to track your suggestion.
Comment 8 Lars Vogel CLA 2017-01-23 11:44:14 EST
Mass move. Please move to a concrete milestone if you plan to work on this item.
Comment 9 Patrik Suzzi CLA 2017-05-25 03:00:11 EDT
Moving to 4.8
Comment 10 Dani Megert CLA 2018-05-24 12:54:19 EDT
Removing target milestone for all bugs that are not major or above.
Comment 11 Dani Megert CLA 2018-05-25 04:05:46 EDT
> Removing target milestone for all bugs that are not major or above.

Of course I meant "major or below".

Sorry for the noise!
Comment 12 Eclipse Genie CLA 2020-07-24 04:48:29 EDT
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're closing this bug.

If you have further information on the current state of the bug, please add it and reopen this bug. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

--
The automated Eclipse Genie.