Window Layouts are not recalled properly

So I generally have two custom made Windows layouts. One for portrait work and one for landscape work. In v7.x the Window Layout that the user chose, would be the one used for all open projects.
For v8 it is my understanding that PMNG remembers the layout per tab/project. Unfortunately I’m finding this is not necessarily the case. Very often when switching from one tab/project to the next, the windows are re-drawn in either the wrong layout, or in a layout that I haven’t specified/saved.
I’ve been trying to detect some kind of logic in the current behaviour, but I can’t seem to detect a pattern. Sometimes when I switch from back and forth between tabs it works. But most of the time I get some random choice between the default one, the alternative one, or the two custom ones I have made.
It seems to be a little better behaved with just two projects open. But with three, it’s chaos.

On a side note… I had one occurrence where I closed one of the three open projects and as the GUI redrew itself to present the second open project, the palette colours of the 3 project (that I had just closed) injected themselves into the palette colours of the second project. That’s a bit scary.
So overall this feature currently feels quite unusable for the moment.

I also just had my first crash as I tried to close another one of the projects.

Can you please send the crash report or did the app just close? (I have the feeling that Parallels is quite sensitive to crashes. Instead of letting the program process the crash it just closes it).

Was just playing around with the layout system and created three projects, three layouts and assigned each of the layouts to one project.
Switched between them, load, save, etc. . Could not find a problem so far :thinking:

I played with it some more and there is definitely a problem here on my end. I think I can reproduce it reliably now.
So I have 4 total layouts. The two standard ones that ship with PMNG, (‘Default and Alternative’), and the two I’ve created myself. One that I use for pictures with a landscape aspect ratio and one that I use for pictures with a portrait aspect ratio.
Here’s what happens after I open 1 project using the landscape ratio and then open two more with the portrait ratio:

Switching from the landscape layout to the portrait layout causes no problems. Both recalled and drawn correctly. Also, switching back to the landscape layout is done properly. In fact, toggling between these to numerous times causes no problem.
It is when I switch from one project using the portrait layout to another project using the same portrait layout that things mess up. That is to say, the project I switch to has misplaced windows. If I switch back to the first project using portrait, it is drawn correctly. Switching back to the other portrait layout still reveals erroneous positioning of the windows.
Switching again to the project using landscape layout (which remains displayed correctly) and then back to the troublesome portrait layout corrects the problem. The layout is drawn as it should.

So, here’a a few examples show good/bad results.

L = Project 0 using custom made Landscape Layout.
P1 = Project 1 using custom made Portrait Layout.
P2 = Project 2 using custom made Portrait Layout.
P3 = Project 3 using custom made Portrait Layout.
→ switching from one tab/project to the next.

L → P1 :white_check_mark:
P1 → P2 :x:
P2 → L :white_check_mark:
L → P2 :white_check_mark:
P1 → P2 :x: → P1 :white_check_mark: → P2 :x:

Also
L → P2 :white_check_mark: → P1 :x: → P2 :white_check_mark: → P1 :x: → L :white_check_mark: → P1 :white_check_mark:

And even if I add a fourth project using to the equation using portrait layout this logic follows. So:
L → P3 :white_check_mark: -
P1 → P3 :x:
Or:
L → P1 :white_check_mark: → P2 :x: → P3 :white_check_mark: → P2 :x: → P1 :white_check_mark: → L :white_check_mark:

I hope this makes sense.

Oh, and during this testing I had another case of palette corruption. Where upon closing one of the projects its palette got copied into the other remaining projects, replacing the colors irretrievably. Thus essentially corrupting the other open projects. Undo didn’t fix the issue. Perhaps I should make another topic on this bug, because that is a potential show stopping bug. Harder to reproduce though.

Unfortunately I’m not seeing any crash reports. I’ll be sure to include them if I see them.

Ah…some more discoveries.

I’ve now noticed that the incorrect layout that gets drawn for all the :x: instances in my post above, is actually the ‘Default’ layout that comes with PMNG. So instead of drawing the custom layout that the project is set to, it draws the Default layout instead. Which is of course not the desired result.

Switching between two projects both using the Landscape Layout causes the same layout redraw error as switching between two Portrait Layout projects.

So then the problem can be reduced down to: switching between projects using the same two layouts causes the project we’re switching to to get drawn using the ‘Default’ layout. Correct drawing can be restored by switching to a project using different layout type and back again.

Thanks! I can verify that when a layout is assigned to two different projects, switching between them causes one project to use default. Will fix :slight_smile:

Aah… brilliant. Happy to hear you were able to reproduce it. I also hope this will fix the palette corruption. I’ll keep an eye out for it and if it keeps occurring, will create another topic for it.

Fixed with V7 beta 11 :slight_smile:

1 Like