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.

Bug 101700 - [heapwalker] Instances view is opened in 'west pane'
Summary: [heapwalker] Instances view is opened in 'west pane'
Status: VERIFIED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Window System (show other bugs)
Version: 6.x
Hardware: All All
: P3 blocker (vote)
Assignee: mslama
URL:
Keywords:
: 117382 118419 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-04-19 08:48 UTC by ehucka
Modified: 2008-12-22 11:46 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
The NBM to simulate this bug. (12.47 KB, application/octet-stream)
2007-10-10 23:59 UTC, Martin Entlicher
Details
Sources of the demonstration module. (16.17 KB, application/octet-stream)
2007-10-11 00:01 UTC, Martin Entlicher
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ehucka 2007-04-19 08:48:06 UTC
NetBeans IDE Dev (Build 20070419-0406)
1.6.0; Java HotSpot(TM) Client VM 1.6.0-b105
Linux version 2.6.16-1.2122_FC5 running on i386
en_US (nb); UTF-8

Steps:

1. start debugging
2. open classes view, select a class, open ist Instances
3. Instances view is opened in 'center' pane like editor
4. finish debugger session
5. repeat steps 1 and 2

Instances view is opened in 'west' pane (like Projects and Files views). After
the Instances view is closed and opened again it is put to editor pane.
Comment 1 Martin Entlicher 2007-04-19 16:10:54 UTC
I've reproduced this. But I have no idea where is the problem, the instances
view has assigned Editor mode. If you close it and open again, it will open
correctly in the Editor. So, it's strange...
Comment 2 Jiri Prox 2007-09-17 20:17:19 UTC
Obsolete milestone, please reevaluate
Comment 3 Martin Entlicher 2007-10-02 14:11:19 UTC
*** Issue 117382 has been marked as a duplicate of this issue. ***
Comment 4 Martin Entlicher 2007-10-09 14:17:09 UTC
The mechanism how is it stored by window system needs to be explored...
Comment 5 Martin Entlicher 2007-10-10 18:24:38 UTC
*** Issue 118419 has been marked as a duplicate of this issue. ***
Comment 6 Martin Entlicher 2007-10-10 23:58:30 UTC
This is a bug of the window system.
That will be demonstrated by a simple module, which I'm going to attach here...
Comment 7 Martin Entlicher 2007-10-10 23:59:56 UTC
Created attachment 50637 [details]
The NBM to simulate this bug.
Comment 8 Martin Entlicher 2007-10-11 00:01:07 UTC
Created attachment 50638 [details]
Sources of the demonstration module.
Comment 9 Martin Entlicher 2007-10-11 00:08:10 UTC
How to reproduce:
1) Install the attached module.
2) Run Windows -> Test Window
3) a "Test Window" will be opened in Editor mode
4) Run Windows -> Close Test Window
5) The "Test Window" will dissmiss
6) Run Windows -> Test Window again
7) The "Test Window" will be opened in the Explorer mode, instead of Editor.

Observations:
1) When you close the "Test Window" explicitely by the X button, it will be opened correctly in the Editor mode the next
time.
2) "Close Test Window" action closes the group in which "Test Window" resides. This bug occurs only when the window is
closed via it's group. It does not occur when the window is closed explicitely via TopComponent.close()
Comment 10 Martin Entlicher 2007-10-11 00:10:21 UTC
To build the attached module from sources, extract it into $NB_ROOT/debuggerjpda folder.
Comment 11 mslama 2007-10-22 15:32:47 UTC
This is by design. When you close TC which is not persistent it is completely removed from model/mode => winsys
effectively forgets TC location. (It is the same regardless if you close TC using groupClose or TC.close. There is just
difference when you open TC using TC.open() it looks for default editor mode whereas if you use groupOpen it looks for
default view mode. So it is just coincidence that you define you TC in editor and TC.open opens TC by default in editor.

After discussion with Dafe we decided to change this - TC should stay in model when closed even if it is not persistent.
For closed TC only TCID is stored in model so TC instance can be gc'ed when TC is closed. In such case it is not
guaranteed that for given TCID you get the same TC instance during one app session.

For next release we plan to add new persistence type for TC to support use case when only new location of TC should
saved but not TC content.
Comment 12 mslama 2007-10-23 12:52:29 UTC
Non persistent TC is not removed from mode when closed ie. winsys remembers position of non persistent TC when TC is closed.

Fixed in main trunk:
/cvs/core/windows/src/org/netbeans/core/windows/Central.java
new revision: 1.71; previous revision: 1.70

/cvs/openide/windows/apichanges.xml
new revision: 1.22; previous revision: 1.21

/cvs/openide/windows/manifest.mf
new revision: 1.19; previous revision: 1.18
Comment 13 Martin Entlicher 2007-10-23 18:09:43 UTC
Thanks, it works as expected now.
Comment 14 mslama 2007-10-24 20:42:59 UTC
Forgot about closing one TC:
/cvs/core/windows/src/org/netbeans/core/windows/Central.java
new revision: 1.72; previous revision: 1.71

/cvs/core/windows/src/org/netbeans/core/windows/ModeImpl.java
new revision: 1.31; previous revision: 1.30

Next part is to check if closed TC has persistent type PERSISTENT_ALWAYS during winsys save. It is issue #119825.
Comment 15 mslama 2007-11-09 12:24:06 UTC
This fix introduced regression which is fixed as issue #119747. Shortly removing unused TC and non permanent modes was
broken. See issue #119747 for more details.