Bugs item #423938, was opened at 2001-05-14 14:35
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105757&aid=423938&group_id=5757

Category: DynAPI 2 Browser-Specific
Group: Verified
Status: Open
Resolution: None
Priority: 5
Submitted By: Mark Fletcher (mark_j_f)
Assigned to: Nobody/Anonymous (nobody)
Summary: DynAPI Scrolling issue with NS6.0

Initial Comment:
Hi, 

Details about the platform(s) upon which the bug was 
detected. 

System: Apple Mac G3 
OS: MacOS9 
Browser: Netscape v 6
Netscape6 Mozilla/5.0(Macintosh;N;PPC;en-GB;m18) 
Gecko/20001108 Netscape6/6.0

System: Compaq Deskpro 733
OS: Windows2000 (no service pack)
Browser: Netscape v 6
Netscape6 Mozilla/5.0(Windows;U;Windows NT-5;en-
US;m18) Gecko/20001108 Netscape6/6.0

Using: DynAPI v2.53 

Bug description: The bug was found on the above 
configuration while viewing the example file 

dynapi/examples/dynapi.gui.scrollpane.html 

In NS6.0 on the both Mac and PC, bug manifests itself 
in same circumstances. When the user loads the afore 
mentioned file, the label is displayed, but the 
scrollpane isnt. The user has ensured that the 
labelsize is set to dimensions greater than the 
scrollpane size. 

The only apparent workaround for this bug is to 
refresh the page. After this the page is downloaded 
correctly and the user can use the scrollpane normally.


----------------------------------------------------------------------

Comment By: Tim Jacobs (tim_jacobs)
Date: 2003-03-05 15:29

Message:
Logged In: YES 
user_id=725670

I've found a solution that works (at least on Internet Explorer 
and Mozilla), using DynAPI 2.5.6.

Instead of using the upgrade to 2.5.7 (which alters the 
dynimage.js file, but doesn't solve the problem), you can try 
the following:

In the DynImage() function, you should see the following lines:
        
if (this.img && this.img.dynimages) {
          this.img.dynimages[this.img.dynimages.length]=this;
          this.imgresize=true;
}
But I found that this if-test just isn't working the way it should 
and you should should alter it to:
if(this.img) {
          this.img.dynimages[this.img.dynimages.length]=this;
          this.imgresize=true;
}
This has also cured a bug that ocurred when testing in 
Internet Explorer, but that could have been a coincidence.

The second step is to disable the "hack" in the 
buttomimage.js file by commenting out the line "setTimeout
(this+".setSize
("+this+".defaultImage.width,"+this+".defaultImage.height);",0)
;" at the bottom of the setImages function. (note that this is 
also done in 2.5.7, so the hack is probably worthless).

I also used the following sequence (for each buttonimage and 
also for the dynimage I used in my animation).
1. Load (or preload) the image using DynImage.getImage(),  
2. Define your DynImage/buttonImage (by using "new 
buttomImage() for instance). But don't specify any parameters.
3. Add the button (or dynimage) to its parent by using the 
addChild() function.
4.. Set any properties and set the images using setImages() 
(on your buttonimage).
5. Instead of the hack (that actually tries to do a setSize(), 
but uses methods/properties to compute the width and height 
it wants to set the button to), use the setSize() function in 
your code directly, but don't use any properties/methods (like 
getWidth() which is bugged in Mozilla and also img.width like 
in the hack doesn't seem to work). Instead, use the real 
values for the image (if possible).

Example from my code:
Step 1:
buttonUpNormal=DynImage.getImage
("dynapi/buttons/blue_Up.gif");
buttonUpHighlight=DynImage.getImage
("dynapi/buttons/yellow_Up.gif");

Step 2:
buttonUp=new ButtonImage();

Step 3:
buttonLayer.addChild(buttonUp);

Step 4:
buttonUp.setImages(buttonUpNormal,buttonUpHighlight);
buttonUp.moveTo(45,125);

Step 5:
buttonUp.setSize(15,15)

This has worked in my case and apparently it's the setSize 
that does the trick for Mozilla. If anyone can explain this to 
me, I would be happy to hear that.

Note: if you also do stuff (like zooming/scrolling) with 
DynImages in Mozilla and you have trouble getting Mozilla to 
display the image changes, try setting the image again to its 
source (just use the setImage() again). This has also proven 
valuable to me.


----------------------------------------------------------------------

Comment By: Tim Jacobs (tim_jacobs)
Date: 2003-03-05 09:53

Message:
Logged In: YES 
user_id=725670

Sorry, my solution didn't work for button images, only for 
dynimages.

Maybe there is a problem with the way button images use 
dynimage code? For instance, should bRedraw be set to true 
in some/all of the setImage() calls?



----------------------------------------------------------------------

Comment By: Tim Jacobs (tim_jacobs)
Date: 2003-03-04 13:46

Message:
Logged In: YES 
user_id=725670

I have had a similar problem with Mozilla on my Unix 
workstation.

You can test the following (simple) solution for the 
dynapi.gui.buttonimage.html example:
just put the "addChild" command (that adds the buttonImage 
to its parent layer) BEFORE you do the "setImage" that 
displays the image. Apparently, Mozilla can only setImage a 
layer that already is a child of another layer.

Perhaps your scrollbar problem has a similar solution.

I first encountered this problem when trying to display an 
image animation (using a DynImage). In internet explorer it 
worked just fine, but Mozilla didn't give me the image until I 
put the first setImage of the animation (that displays the first 
frame) after the addChild() call that adds the DynImage to its 
viewport (=parent layer).

----------------------------------------------------------------------

Comment By: steven seah (stevenseahkl)
Date: 2001-07-13 05:33

Message:
Logged In: YES 
user_id=268682

same problem here, any fixes? it becomes weirdo if U put it 
into frames... after the scorllbar finally comes up and 
working fine and u reload the page, it dissapears again! in 
NS6.0

- PC windows2000
- NS6.0

The only crued fix for me so far is to:
1) write a mess for NS6 users to reload the page to see 
scrolbar
2) then when user reload page it location.replace with the 
another file but same code. this seems to work?!?!(weird) 
and u can reload it as many times as u want to, and it will 
still work.
3) I am not a programmer, so I do not know how and where to 
fix the dynimage.js if it is in fact the main problem 
behind all this.

AGAIN, any fixes? :)

Steven Seah

----------------------------------------------------------------------

Comment By: Yurij Silvestrov (yura_silver)
Date: 2001-05-15 06:21

Message:
Logged In: YES 
user_id=184633

It isn't a bug of scrollpane itself. It's a bug of DynImage.

To verify this, try to open dynapi.gui.buttonimage.html 
from local hard disk. You can observe such behavior both in 
NS6 and IE4 (but only first time! if you can see a button, 
rename dynapy folder and try again).

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105757&aid=423938&group_id=5757


-------------------------------------------------------
This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger 
for complex code. Debugging C/C++ programs can leave you feeling lost and 
disoriented. TotalView can help you find your way. Available on major UNIX 
and Linux platforms. Try it free. www.etnus.com
_______________________________________________
Dynapi-Dev mailing list
[EMAIL PROTECTED]
http://www.mail-archive.com/[EMAIL PROTECTED]/

Reply via email to