no more independent 3D viewer windows?

Bug #1562672 reported by Joan
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
KiCad
Fix Committed
Low
Jeff Young

Bug Description

I currently switched from BZR5978 to BZR6608 on Windows 64bit.

In BZR5978 it was possible to open independent 3D views from PCBnew, the footprint editor and the footprint browser.
One got a max of three separate windows that were independent of each other (note *).

Fast forward to BZR6608 and that is no more.
When I open the 3D view from PCBnew and then try to open another one from the footprint editor the focus jumps to the 3d view from PCBnew (window goes in front of all else), but only shows the board, not the footprint I wanted to see.
To show me the footprint I have to close the PCBnew 3D view and only then I can open the 3D view for the footprint.

Related might be a bug that shows solder mask clearances for footprints in the 3D view, although the clearances settings for the pads, the footprint and the global board values in PCBnew are all at ZERO (note **).
This also didn't happen back in BZR5978.

*)
just tested it, by reinstalling the BZR5978 over BZR6608 - I can have three independent 3D views - see screenshot.
The interesting part might be, that the 3D windows were located off-screen - each one of them. I had to use this to get them pop back into existence: http://superuser.com/questions/53585/how-to-move-windows-that-open-up-offscreen

**)
if you think that's a separate bug I'll file another report, no problem.
I already have some info with a screenshot here: https://forum.kicad.info/t/footprint-editor-non-zero-solder-mask-clearance-in-3d-view-bug/2638

Tags: 3d-viewer
Revision history for this message
Joan (joanthesparky) wrote :
Changed in kicad:
status: New → Triaged
importance: Undecided → Low
Revision history for this message
Jeff Young (jeyjey) wrote :

This was changed in a11bbffe9b8c525203abee41019c2bbf8cc11d72 with the hint "... to prepare others fixes.", but I didn't find any commits from JP over the following 35 days which looked like they were related.

@JP, you don't happen to remember why you made this change, do you?

Revision history for this message
jean-pierre charras (jp-charras) wrote :

Kicad keep trace of opened frae (editors, viewers). to be able to close them for instance when closing the project and opening a new projet.

Before these changes, this trace was storing a reference to the frame, when opened.

This was a complicated way because a frame can be opened by a editor, and then closed.
The frame that opened the other frame need to know the other frame was closed.
(especially viewers, but also the board editor from eeschema)

I replaced this complicated mechanism by using wxWindow::FindWindowByName() to know if it a frame is already opened (not only the 3D viewer, but any other editor frame.

I am not sure we can run many instances of the 3D viewer without issues.

Revision history for this message
Jeff Young (jeyjey) wrote :

Thanks, JP. That makes a lot of sense for Viewers opened by modeless editors, viewers, etc.

However, the modal versions feel different. For the modal Footprint Viewer (opened from Symbol Properties, for instance) to "steal" pcbnew's 3DViewer feels a bit odd (especially since it then closes it when the modal dialog is done).

Your last paragraph gives me pause, but I think I might try allowing multiple viewers early in 6.0 and see if we get into trouble....

Changed in kicad:
assignee: nobody → Jeff Young (jeyjey)
milestone: none → 6.0.0-rc1
tags: added: 3d-viewer
Jeff Young (jeyjey)
Changed in kicad:
status: Triaged → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.