r3wp [groups: 83 posts: 189283]
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

World: r3wp

[View] discuss view related issues

Henrik
4-Sep-2006
[5399x4]
haven't tested with that yet. I have a custom event function for 
closing the main window:

insert-event-func func [face event] [
  if event/type = 'resize [
    help-window-resize
    main-resize
  ]
  either event/type = 'close [
    either event/face/text = main-window-title [
      if request/confirm "Afslut programmet?" [quit event]
    ][
      event
    ]
  ][
    event
  ]
]
It happens also when using HIDE-POPUP
hmm... this is something that goes on in my toolbar code, so it should 
not happen with VID in general. it's still a strange error however. 
a face simply disappears from a PANE block :-)
does SHOW set the parent-face automatically in subfaces of a pane?
Anton
4-Sep-2006
[5403]
Yes it does.
Henrik
4-Sep-2006
[5404]
it's when I do a SHOW on the toolbar that it crashes, but I'm still 
miles away from what exactly is going on...
Anton
4-Sep-2006
[5405]
Actually, the opposite can be a problem - expecting parent-face to 
be set before the face has been SHOWed. eg. you have LAYOUT a window, 
but not VIEWed it yet.
Henrik
4-Sep-2006
[5406x2]
that would just cause a crash to console, wouldn't it?
e.g. couldn't find an object in parent-face
Anton
4-Sep-2006
[5408x3]
Yes - sorry, that problem is probably not exactly related to yours.
What the wierest thing your toolbar does ?
wierdest
Henrik
4-Sep-2006
[5411]
trying to create a separate applicaton and torture toolbar that way. 
it happens if I update toolbar and recreate its contents exactly 
19 times.
Anton
4-Sep-2006
[5412x3]
weirdest
Cool. Keep on it.
You released the toolbar somewhere...
Henrik
4-Sep-2006
[5415x4]
uhmm... not sure about weirdest :-) but I build the toolbar layout 
from a block that is parsed, appending faces and their attributes 
as it gets parsed. when that's done, I show it..
can't remember if it's the latest version... it has a few extras
http://hmkdesign.dk/rebol/toolbar/toolbar.r
it's pretty new
Anton
4-Sep-2006
[5419]
and is your code to show the bug shortish ?
Henrik
4-Sep-2006
[5420]
I'm not done with it yet. I still only have seen the problem in the 
complex application, but the test code is so far about 15 lines
Anton
4-Sep-2006
[5421]
I would make a "debug" copy of the complex application, then cut 
out chunks until the bug no longer appears.
Henrik
4-Sep-2006
[5422x3]
the thing is that it happens when I close an INFORM too
but I'm not sure about the relation between that inform and a toolbar 
update.
:-( ran 2000 updates on the test version without problems.
Anton
4-Sep-2006
[5425]
Just looking at the toolbar code, I suspect the DRAW dialect, perhaps 
it is the use of FILL-PEN LINEAR ? I seem to remember a bug there...
Henrik
4-Sep-2006
[5426]
I could try disabling it...
Anton
4-Sep-2006
[5427x2]
Well, the best idea is to start with a copy of the full app, as I 
suggested above. I've done the same thing as you, trying to track 
down bugs, trying to guess what it is.
Guessing is cool but it's not as sure as subdivision.
Henrik
4-Sep-2006
[5429]
true, but it will be very time consuming...
Anton
4-Sep-2006
[5430]
Can be hard sometimes to remove certain chunks, but usually you can 
disable large chunks of code using comments, verify that the bug 
is still there, then remove the code - and repeat until there's not 
much left and the bug is obvious.
Henrik
4-Sep-2006
[5431]
well, DRAW isn't the culprit
Anton
4-Sep-2006
[5432]
Ok, so my first guess has removed a small amount of code. (wouldn't 
it be better if it was 50% of the code ? :-)
Henrik
4-Sep-2006
[5433x2]
http://hmkdesign.dk/rebol/toolbar/toolbar-demo.r<--- I don't know 
if the bug shows here
the thing is, what if it's a buffer overflow? that will be really 
hard to fix, because you might run into the bug randomly.
Anton
4-Sep-2006
[5435]
It could be. But never miss a chance to find a deterministic View 
bug. :)
Henrik
4-Sep-2006
[5436x3]
phew.. down to 500 lines of code
REBOL []

stylize/master [
  f: FACE WITH [
    do-this: does [
      insert tail pane: [] make face [
        feel: make feel [
          detect: func [face evt] [
            if evt/type = 'up [
              repeat i 5000 [
                do-this
              ]
            ]
            evt
          ]
        ]
        pane: make face []
      ]
    ]
    init: [do-this]
  ]
]
view layout [
  f 100x100
]
This is about as small as it gets for now. Run the code and click 
the gray area to crash rebol
Anton
4-Sep-2006
[5439x5]
Mmm.. that code is asking for at least 143 MB for those 5000 faces. 
:)
err... that's if a 100x100 bitmap is allocated for each of them..
Ok, this still shows the bug:
- removed stylize
- removed layout and view
- set object facets to none
view make face [
	size: 10x10 
	do do-this: does [
		insert tail pane: [] make face [
			feel: make feel [
				detect: func [face evt][
					if evt/type = 'up [
						repeat i 5000 [
							do-this
						]
					]
					evt
				]
			]
			color: edge: font: para: none
			pane: make face [color: edge: font: para: feel: none]
		]
	]
	color: edge: font: para: none
]
Click the little 10x10 box once or twice to crash.
Gabriele
5-Sep-2006
[5444x2]
is that related to the inform bug you were talking about or something 
different?
anyway - please RAMBO it.
Graham
5-Sep-2006
[5446]
is this just a recursive crash ?
Henrik
5-Sep-2006
[5447x2]
gabriele, in my program it was triggered by closing an inform window, 
but after stripping away all the code to the above, it didn't have 
anything to do with it. It merely triggered the bug accidentally.
anton, in the "insert tail pane: []" part, it will still crash, when 
using copy on that array