This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Product Version: NetBeans IDE 8.0 (Build 201403101706) Updates: NetBeans IDE is updated to version NetBeans 8.0 Patch 1.1 Java: 1.8.0; Java HotSpot(TM) 64-Bit Server VM 25.0-b70 Runtime: Java(TM) SE Runtime Environment 1.8.0-b132 System: Windows 7 version 6.1 running on amd64; Cp1252; en_CA (nb) User directory: C:\Users\Gili\AppData\Roaming\NetBeans\8.0 Cache directory: C:\Users\Gili\AppData\Local\NetBeans\Cache\8.0 1. Open a debugging session with 10+ threads. 2. Cause the session to hit a breakpoint. 3. Click the "Pause" icon to suspend all threads. 4. Scroll down the list of threads in the "debugging" viewport such that the "active" debugging session is no longer in view. 5. Notice that the "active" debugging sessions keeps on forcing the viewport to jump up, so it is back in view. Expected behavior: suspended threads should not steal viewport focus. The focus should only shift when a breakpoint is hit (which shouldn't happen when the thread is already suspended on a breakpoint). Please consider assigning this a higher priority because it makes the IDE very annoying to work with.
To clarify, the problem is even worse than that. Whatever is stealing the focus is forcing the scrollbar position so that the "active" session is at the top of the screen. Meaning, even if the "active" session is technically visible (but its first line is not) the scrollbar will keep on jumping to a different position. So more clarifications: I am scrolling using the mouse wheel and the scrollbar position doesn't jump 100% of the time. Sometimes I can scroll fine, but most times something is stealing focus. I haven't figured out what is triggering this behavior (why it happens one time but not another).
Reproduced.
This was fixed in 8.0.1.
Are there plans to merge this into the dev builds? I can still reproduce it in build 201408220001.
Reopening. I can still reproduce the problem in: Product Version: NetBeans IDE 8.0.1 (Build 201408251540) Updates: NetBeans IDE is updated to version NetBeans 8.0.1 Patch 1.1 Java: 1.8.0_25; Java HotSpot(TM) 64-Bit Server VM 25.25-b02 Runtime: Java(TM) SE Runtime Environment 1.8.0_25-b18 System: Windows 7 version 6.1 running on amd64; Cp1252; en_CA (nb) User directory: C:\Users\Gili\AppData\Roaming\NetBeans\8.0.1 Cache directory: C:\Users\Gili\AppData\Local\NetBeans\Cache\8.0.1
I think this issue has something to do with tooltips. Focus is only stolen if the mouse is hovering on top of a line item as you scroll down the list with the mouse wheel. If the mouse is not hovering over a line item, focus is not stolen.
Created attachment 151954 [details] Screenshots of 10 suspended threads with breakpoint hit in Thread-1 which is not visible. I am sorry but I can't reproduce it. Did I miss something? Please see the attached screeenshot.
Jiri, I need to find a better way to reproduce this. Every time I've been it, I was debugging some sort of web server, whether it be Jetty or Tomcat. Maybe the focus change is triggered by a thread being added or removed from the list (something that is a lot more likely when a web server is being debugged). In any case, I've seen this bug as late as last week using the nightly build so the issue is definitely still reproducible.
There was a fix of this going into 8.0.1, but all fixes go through trunk, therefore trunk has to have the fix as well. The most probable is, that there is a use-case in which the bug still manifests. The fix might not have been complete.
*** Bug 247241 has been marked as a duplicate of this bug. ***
It should be fixed by changeset: 287601:3d496df550f1 http://hg.netbeans.org/core-main/rev/3d496df550f1
Integrated into 'main-silver', will be available in build *201505130001* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress) Changeset: http://hg.netbeans.org/main-silver/rev/3d496df550f1 User: mentlicher@netbeans.org Log: #244452: Improve the scrolling of debugging view to hold the desired position and to scroll when user scrolls.