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

World: r3wp

[View] discuss view related issues

Rebolek
14-Apr-2010
[9716x2]
So it was on my HDD, interesting. It's here: http://www.filedropper.com/colorsliders
It's a overkill, I know, you can remove half of functionality without 
problem. But, OTOH, it's easier to remove than to add ;)
Maxim
14-Apr-2010
[9718]
wow two contenders  :-)


If you don't mind, I think I'll merge your stuff with the one from 
Oldes.


two completely different paradigms.  its always fun to be able to 
chose.


I'll also add stuff of my own, like a user palette which saves to 
disk.
Maxim
15-Apr-2010
[9719]
actually I think yours will be easy to convert to glass, since its 
already in AGG
Graham
15-Apr-2010
[9720]
max, you didn't answer my question!
Maxim
15-Apr-2010
[9721]
what question?
Graham
15-Apr-2010
[9722]
oh ... you did
Maxim
15-Apr-2010
[9723x6]
REBOL/view R2 CRASHES when I use a linear fill-pen... with a box!!!!!
has anyone else had this problem too?


I'll try to build an example 10 line script which shows this happening...
I think I pinned the issue.  


I think its triggered by some memory optimization within linear-fill, 
(something to do with the dialect parser probably).

draw-blk:  [ ... contains a linear fill ...]

face/effect: reduce ['draw draw-blk]
show face
face/effect: reduce ['draw draw-blk]
show face
the above crashes REBOL


note we use the same draw block within two different effect wrappers, 
consecutively.
even doing a copy/deep on it doesn't work  darn!
its a bit more complex than this but I'm still searching for an exact 
replicatable example with a real draw block as example.
Cyphre
15-Apr-2010
[9729]
Maxim, I can't get it crash easily here. Using this simple test:

r: 0

dr: [pen red fill-pen linear 50x50 -50 50 r 1 1 red yellow green 
cyan blue magenta box]
view/new layout [bx: box]
loop 1000 [
	r: r + 1
	bx/effect: reduce ['draw dr]
	show bx
]
do-events
Maxim
15-Apr-2010
[9730]
I know... its related to this specific draw block... I'm getting 
there...


I saved out the draw block to disk and when load it and use it within 
my tester, it crashes... 


so I'll reduce to the smalest example that crashes and dump it here.
Cyphre
15-Apr-2010
[9731x2]
BTW you don't need to use reduce on the effect block in this case.
ok
Maxim
15-Apr-2010
[9733x2]
I'll get back to this later...
man, this bug is more slippery than a greased snake!

I just edited comments and that had an effect on crashing or not!
Henrik
15-Apr-2010
[9735]
That sounds like some kind of early buffer overflow. I remember Carl 
fixing a similar bug in R3 during closed alpha.
Maxim
15-Apr-2010
[9736x7]
I'll continue testing  cause I've had a very small draw block crash 
also, I think its related to compose or copy/deep and binding.
this is a very serious bug, cause it means that any draw block can 
crash at any time.
(if it is constructed dynamically)
so Linear fill is a condition for this bug, for sure.   


But its an internal issue where the size/complexity of the draw block 
will trigger it.  


note its not just a question of having a big draw block, I think 
it has to do with the block being a specific size (prime numbers, 
for example)
I will try to get Carl into fixing this for 2.7.8

this is a serious Draw flaw, its totally unpreventable, undetectable, 
& unpredictable.


adding / removing items to the block will trigger the crash sooner 
or later.
the only constant being that the more   [ fill-pen linear ]    items 
in the block, the sooner it crashes... at some point, (depending 
on your block), it crashes at the very first draw.
it seems using 'CLIP in the DRAW block is the root evil  in  previous 
crash.

anyone else found that CLIP was buggy?
Cyphre
16-Apr-2010
[9743]
Well, if you are able to make at least script that is able to crash 
(even randomly) I can test it here on external agg dll DRAW emulator 
to see if the porblem is in AGG code itself or if it is on the rebol 
dielaect side.
Maxim
17-Apr-2010
[9744]
cyphre, here is a script which crashes. 


http://www.pointillistic.com/open-REBOL/moa/files/draw-clip-crash.r
Steeve
17-Apr-2010
[9745]
very unstable, sometimes it crashes, sometimes not
Maxim
17-Apr-2010
[9746x3]
yep.
did you try running with the clip  commented?
(as per the notes in the header)
Steeve
17-Apr-2010
[9749]
yes with and without it
Maxim
17-Apr-2010
[9750]
and it does it crash for you without clipping?
Steeve
17-Apr-2010
[9751]
no it doesn't crash without clipping
Maxim
17-Apr-2010
[9752]
ok thanks... gives more strength to my tests so far.
Steeve
17-Apr-2010
[9753x2]
For what are the clippings used ?
I mean when are they emitted ?
Maxim
17-Apr-2010
[9755x4]
so far,


fields: clipping text to field area (which can be smaller than the 
field itelf.

frames: clipping contents to frame bounds (just like faces in R2). 
this allows us to scroll frames within frames.


for frames the clipping isn't something I can ignore  it will have 
to work somehow.
hum  steeve did you try in 2.7.6 or 2.7.7  (SDK or full release view)?
I just updated the script so it crashes more frequently on 2.7.7. 
 the old one, it seems didn't crash for Carl !


this new one just kills view without a single refresh on my system.
curiously it can draw once in 2.7.6 SDK rebview.  put clicking on 
it ... BAM.  (on my system at least).
Maxim
18-Apr-2010
[9759x2]
NEW bug.. (but not a crash)


using vectorial fonts with text ending in spaces, corrupts color 
transparency of any following draw  element !!!

example script:
rebol [
	title: "Vectorial text corrupts transparency"

 note: "bug occurs only when text ends with one or more spaces!!!"
]

myfont: make face/font []

; COLOR IS TRANSPARENT
box-bg: green + 0.0.0.128

view layout [
	box 350x50 effect  [ 
		draw [
			font myfont
			
			 ;draw crosses
			line-width 1 
			pen blue 
			line 10x29 109x05 
			line 10x05 109x29 
			line 110x29 209x05 
			line 110x05 209x29
			
		    line-width 2 
			pen 0.127.0 
			fill-pen box-bg
			box 10x05 109x29 3 
			
			line-width 0
			pen black
			text "1    " 47x07 vectorial
			;line 0x0 0x0
			
			line-width 2 
			pen 0.127.0 
			;---------
			; following color alpha is WRONGß
			fill-pen box-bg			 
			box 110x05 209x29 3 
			
			line-width 0
			pen black 
			text "2" 154x07 vectorial 
		]
	]
]
UPDATE on clipping crash..   


using CLIP NONE , seems to be the definite cause which makes AGG 
crash in my tests.
ChristianE
18-Apr-2010
[9761]
Instead of CLIP NONE, does it work if you CLIP 0x0 350x50 (in effect 
no clipping at all)?
Maxim
18-Apr-2010
[9762x4]
nope....
that solution is exactly what I tried and it worked for awhile...
then BAM... a crash... so its back to square one... linear fills, 
when clipping, just crash AGG at some indefinite point in time.
the above text bug is also pretty weird  :-)


I discovered it when I attached a field to a label and another control 
would change colour as I typed!  :-)