|
From: Jordi 'I. M. <jmi...@or...> - 2001-01-10 10:15:51
|
I have not been able to use CVS since this morning. SSH was giving a warning
about some hacker doing a man-in-the-middle attack. This morning I spoke to
my admin and found out that he had changed the network's configuration so
now there's a Linux machine rounting all traffic. ( The man in-the-middle ).
sigh....
Ok, on to the point. As usual when I wait too much before updating my API's
version when I do I don't recognize the code. ( Even mine ). One good thing
about being a web developer is that I can spend the whole day debugging the
API and still I'm doing my job :)
I'm trying to fix the label and button widgets in the hope that this will
lead to fix many other bugs. Now, tracking down one of these pestering
event-not-happening bugs I've reached this place inside event.js
if (is.ns4 && is.platform=="other" && type=="mouseup")
this.invokeEvent("click",e);
I'm reasonabily sure that this -is.platform- condition should not be there.
Coded that way, click events only fire when you're running a Linux/Unix
Netscape, don't they ? By removing the condition, the button widget worked
fine in NS( did you notice that clicking the text in the button was causing
the button to animate but the resizing did not happen ? ). IE, as Pascal
already stated, has another problem.
I don't want to directly update CVS with this change because I have a
terrible feeling that this code was placed there because some platform issue
and I may have broken something else. Would the person that coded that
condition please tell me if it is a mistake or not ?
Another issue. Same function, several lines before:
if (is.ns4 && is.platform=="other") {
if (type=="mousedown") {
if (this.dbltimer!=null) type="dblclick";
else this.dbltimer=setTimeout(this+'.dbltimer=null',300);
}
}
Again it seems that Win NS won't fire any doubleclick events. Since this
code has been there since Dan's first DynAPI2 release and whenever I remove
it, it reappears again, my best guesses are:
- 1: The condition should be platform!='other'. I know that win NS handles
doubleclick events correctly ( I've tryed removing the condition and did
well ). Then maybe some Linux/Unix doesn't but the condition is miswritten.
- 2: There's something that I have missed and dblclick events under Windows
are handled in another way.
- 3: I'm dumb
I'll continue to investigate ( I will dedicate the rest of the day to debug
this release ) In the meantime it would be useful if you all posted all the
bugs you can think of so I don't forget something.
----
I like OOP as much as anyone and I do recognize the benefits of modularity,
classes, inheritance, etc, etc. However, we must keep in mind that sometimes
the ground we're steping is not solid enought to build a skyscraper on top
of it. I understand that programming Delphy and such is easier, and I do
understant that JAVA's object model is cool and scalable and you can reuse
code but, how many years did it took until technology was mature enought to
support things as abstract and platform-independant as JAVA ( I lived the
old ASM days, one mistake-one reboot, registers, pointers.... ) ? Concepts
such as code size still count. You may have a fast connection but still a
website 10k smaller is a better website.
Lots more will be said.
|