Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0007469 [Squeak] Morphic major always 03-03-10 06:24 04-18-10 21:51
Reporter rpboland View Status public  
Assigned To laza
Priority normal Resolution unable to reproduce  
Status closed   Product Version 3.10.2
Summary 0007469: GUI drawn with widgets outside of main window
Description I think this bug is between minor and major. You judge.
I have a problem with the GUI for my project. I have been
rewriting the GUI to use ProportionalLayout so that the
layout can be scaled by the user. However, now that I
use ProportionalLayout many of the widgets go way to
the right of the end of the main window. If fact the end
of the rightmost widget is about a screenful and a half
past the left of the main window and about twice as far
to the right as the right end of the window. My GUI is
based on the GUI for SmaCCDev so I checked the SmaCCDev
GUI and discovered that the same problem
occurs with the SmaCCDev GUI and so the problem appears
to be a Squeak bug. I then moved a couple of
GUI widgets to be offset from the right of main window
rather than the left to make the bug more clear.
At least the SmaCCDev GUI version of the bug fits on my screen.

I then added code to help me find the problem which turns out
to be with class Morph. My GUI and the SmaCCDev GUI
consists of a number of pages and the class of each page is Morph.
Morph has a method called
minExtent which seems to take the current size as a minimum value
for minExtent but may return a larger value because of submorphs
requiring it. If my main window size is large and I shrink it to
a sufficiently small size then before minExtent is called the
value of bounds for the page Morph is set to a specific value (in the X
direction the value is 300 for the SmaCCDev GUI and over 1000 for my
GUI) and then once minExtent is called the then current value of bounds
is returned as the minExtent. This is of course larger than required
and the widgets are drawn using this larger value. Meanwhile the
main window uses the smaller extent value as it should.
Thus the mess.

So I tried to determine who was setting the bounds instance variable before
minExtent was called. I set breakpoints wherever the bounds instance variable
was modified (I needed to put conditions around these breakpoints to avoid
uninterruptable infinite loops.). This didn't find the culprit.
So everywhere bounds or its instance variables were returned by
Morph methods I had copies returned instead. This didn't help.
(The mcz file provided does not include the changes to Morph where
I added copy code.)
Finally, I searched for primitives that might be called my Morph
(that might modify the bounds instance variable) but found none.

I am at my wits end. It seems that no one modified the bounds variable and
that it changed all on its own? Since this appears to be a Squeak bug I have
generated this Mantis bug report and attached code based on the SmaccDev
GUI code to reproduce the bug with my debug code included.

I am hoping someone can look at this and figure out the bug (and tell me
why I couldn't find it). I also have a GUI now that doesn't work and I don't
want to revert back to a fixed size GUI so a prompt fix would be
appreciated (though not necessarily expected).
Additional Information I need this bug fixed so if you need any further information let me know.
If you send me code I will test it out.

Have fun.

Ralph Boland
Attached Files  SmaCCDev-rpb.23.mcz [^] (51,570 bytes) 03-03-10 06:24

- Relationships

- Notes
(0013523 - 536 - 596 - 596 - 596 - 596 - 596)
wiz
03-07-10 02:39

Hi Ralph,

If this is a squeak bug, could you isolate the problem into a simple example.

That is, get a bunch of morphs. Tie them together into another morph with proportional layout. The demostrate that changing the morph size lays out the submorphs incorrectly?

Basicly, it would be easier to look for this bug if I don't have to understand what your application code is doing. I could probably play and get to this point but it sounds like you might be 90% there.

Cheers.

Yours in service and curiosity, --Jerome Peace
 
(0013524 - 174 - 180 - 180 - 180 - 180 - 180)
wiz
03-07-10 02:42

Alternately a screen shot of the offense might help too. You can snapshot a morph using SHIFT-Viewer halo (the blue eye) or just export the morph as a jpg or png file.
--Jer
 
(0013642 - 41 - 47 - 47 - 47 - 47 - 47)
laza
04-08-10 10:18

Any news on this?
Can we close this bug?
 
(0013699 - 23 - 26 - 26 - 26 - 26 - 26)
laza
04-13-10 12:32

No feedback -> resolved
 

- Issue History
Date Modified Username Field Change
03-03-10 06:24 user1018 New Issue
03-03-10 06:24 user1018 File Added: SmaCCDev-rpb.23.mcz
03-05-10 01:01 KenCausey Reporter user1018 => rpboland
03-07-10 02:39 wiz Note Added: 0013523
03-07-10 02:42 wiz Note Added: 0013524
04-08-10 10:18 laza Note Added: 0013642
04-08-10 10:18 laza Status new => feedback
04-13-10 12:32 laza Status feedback => resolved
04-13-10 12:32 laza Fixed in Version  => trunk
04-13-10 12:32 laza Resolution open => unable to reproduce
04-13-10 12:32 laza Assigned To  => laza
04-13-10 12:32 laza Note Added: 0013699
04-18-10 21:51 andreas Status resolved => closed


Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
63 total queries executed.
42 unique queries executed.
Powered by Mantis Bugtracker