Hi There! Once again, thanks for the patches and keep them flowing. The new CVS repository is up and updated with the patches: e.g. (with "-cur" terminated directories being the working directories) alias dcvs='cvs -z3 -djcid@auriga.wearlab.de:/sfhome/cvs/dillo' dcvs co dillo2 dcvs co dw2 cp -r dillo2 dillo2-cur cp -r dw2 dw2-cur ln -s dw2-cur dw-testbed find dw2-cur -name CVS -exec rm \{\} \; find dillo2-cur -name CVS -exec rm \{\} \; cd dw2-cur ./autogen.sh make cd ../dillo2-cur ./autogen.sh make Here follow my comments on the patches. Please test this CVS code and send feedback:
[Johannes wrote] * the namespace "signal" in dw-testbed/lout/signal.hh conflicts with the declaration in /usr/include/sys/signal.h: __sighandler_t *signal (int, __sighandler_t *); I renamed the namespace to loutsignal.
Johannes: please send me the patch for this.
[Vincent wrote (va_list issue)] Sure, though i'm not at all sure this is the correct way to fix this issue.
Vincent: AFAIS, the problem is looping without the va_copy, so the patch is OK. Anyway, please test the CVS code and tell us how it works.
[Andreas wrote] Ok, then I got it to compile finally for my ipaq with familar 0.8.4 on it. I runs with X-forwarding so that I get the window on my notebook display. But it segfaults without x forwarding:
Andreas: please let us know the procedure when you have cleaned it up.
[Alexander wrote (strndup)] Hm, right. I had used malloc() in my replacement function, but with calloc() it is indeed unnecessary.
I have wrapped this in autoconf, see attached patch. I also made autoconf in dillo and dw-testbed check for the path to the perl binary and substitute it in dpidc and Doxyfile, respectively, see other patch. Actually, these patches can't simply be applied: first, dillo-f15/dpid/dpidc and dw-testbed-0.0.43j/Doxyfile have to be moved to *.in.
Alexander: as strndup is a GNU extension, and we have kept the code as portable as possible, I just added the wrapper for it based on the patch. With regard to Perl, I'd like to get rid of that dependence either with bash (if possible) or C. BTW, if Sebastian agrees it may also be a good idea to use Dlib in dw2. That way those problems could be layered down...
[Johannes wrote] here is a new version of dillo-fltk scroll performance improvements. This patch is against vanilla dillo-fltk.
New in this patch:
* Hotkey bindings for arrow keys, Home- and EndKey. This only works when the focus is on the display area.
* Only unclipped area is exposed which improves performance on large pages (e.g. http://www.w3.org/TR/xslt).
* Limit scrolling to reasonable values.
It improves not only performance on large pages but also avoids overlapped rendering. Applied.
[Matthias wrote] Fine! Only using the arrow keys is quite slow and consumes all CPU time on my machine. In contrast, srolling with the old Dillo was quick and produced almost no CPU load.
A question: Would it be difficult to add mouse wheel support as well? On my machine that does not work. (Or is thia a configuration issue regarding FLTK?)
Dillo1 didn't render antialiased text, and was heavily optimized. The optimization phase of rendering in dillo2 has just started (thanks Johannes :). I hope we can tune it to a dillo1 similar CPU-consumtion.
[Matthias wrote] Compilation on Debian Etch worked well. I had to use the "--x-includes" and "--x-libraries" options when configuring FLTK, and the test glpuzzle did not compile.
I'm also using Etch here and didn't need those options. I also have a running glpuzzle. The CPU, hogs when scrolling on vanilla but not with the scrolling patch, and entities work. I also don't experience CPU-hogs from the over-link-quick-switch-from arrow-to-hand test. Maybe this is related to something not installed or not configured in your machine... (This system has: x11proto-gl-dev, freeglut3, freeglut3-dev, libxft2, libxft2-dev, libgl1-mesa-{dev,dri,glx} among others that I don't know whether relevant or not! ;). BTW, I'm testing on a fast machine. It will be interesting to see what the old one produces.
[Johannes wrote] Mouse wheel is a matter of binding. Place your mouse pointer over the scroll bar and use the mouse wheel (it needs to be bound to the viewport).
It is slow, because the default linesize (the amount a scrollbar scrolls when pushing on the arrow is 1. I could change that, but what would be a reasonable value?
The height of a word in normal text (i.e. line height). We know the font and font factor from dillorc2 (or defaults). This number is a good candidate. ---------------- Side Note to all: Have you right-clicked over the search button? :-) -- Cheers Jorge.-
Hi Jorge, On Thu, Oct 11, 2007 at 03:22:50PM -0400, Johannes Hofmann wrote:
Hi There!
Once again, thanks for the patches and keep them flowing.
The new CVS repository is up and updated with the patches:
e.g. (with "-cur" terminated directories being the working directories)
alias dcvs='cvs -z3 -djcid@auriga.wearlab.de:/sfhome/cvs/dillo' dcvs co dillo2 dcvs co dw2 cp -r dillo2 dillo2-cur cp -r dw2 dw2-cur ln -s dw2-cur dw-testbed find dw2-cur -name CVS -exec rm \{\} \; find dillo2-cur -name CVS -exec rm \{\} \; cd dw2-cur ./autogen.sh make cd ../dillo2-cur ./autogen.sh make
Great, but it keeps asking for a password, am I missing something?
Here follow my comments on the patches. Please test this CVS code and send feedback:
[Johannes wrote] * the namespace "signal" in dw-testbed/lout/signal.hh conflicts with the declaration in /usr/include/sys/signal.h: __sighandler_t *signal (int, __sighandler_t *); I renamed the namespace to loutsignal.
Johannes: please send me the patch for this.
As only I seem to have these problems it might well be a problem of DragonFly BSD. So I would like to check that first before changing the nice an simple names in the lout library.
[Johannes wrote] here is a new version of dillo-fltk scroll performance improvements. This patch is against vanilla dillo-fltk.
New in this patch:
* Hotkey bindings for arrow keys, Home- and EndKey. This only works when the focus is on the display area.
* Only unclipped area is exposed which improves performance on large pages (e.g. http://www.w3.org/TR/xslt).
* Limit scrolling to reasonable values.
It improves not only performance on large pages but also avoids overlapped rendering. Applied.
Great. I will try to add some more performance improvements.
[Matthias wrote] Fine! Only using the arrow keys is quite slow and consumes all CPU time on my machine. In contrast, srolling with the old Dillo was quick and produced almost no CPU load.
A question: Would it be difficult to add mouse wheel support as well? On my machine that does not work. (Or is thia a configuration issue regarding FLTK?)
Dillo1 didn't render antialiased text, and was heavily optimized. The optimization phase of rendering in dillo2 has just started (thanks Johannes :). I hope we can tune it to a dillo1 similar CPU-consumtion.
Yes, for me my patch improves performance, but we are not yet at the level of dillo1.
[Matthias wrote] Compilation on Debian Etch worked well. I had to use the "--x-includes" and "--x-libraries" options when configuring FLTK, and the test glpuzzle did not compile.
I'm also using Etch here and didn't need those options. I also have a running glpuzzle. The CPU, hogs when scrolling on vanilla but not with the scrolling patch, and entities work. I also don't experience CPU-hogs from the over-link-quick-switch-from arrow-to-hand test. Maybe this is related to something not installed or not configured in your machine... (This system has: x11proto-gl-dev, freeglut3, freeglut3-dev, libxft2, libxft2-dev, libgl1-mesa-{dev,dri,glx} among others that I don't know whether relevant or not! ;).
BTW, I'm testing on a fast machine. It will be interesting to see what the old one produces.
[Johannes wrote] Mouse wheel is a matter of binding. Place your mouse pointer over the scroll bar and use the mouse wheel (it needs to be bound to the viewport).
It is slow, because the default linesize (the amount a scrollbar scrolls when pushing on the arrow is 1. I could change that, but what would be a reasonable value?
The height of a word in normal text (i.e. line height). We know the font and font factor from dillorc2 (or defaults). This number is a good candidate.
Ok, I will try to add this.
---------------- Side Note to all: Have you right-clicked over the search button? :-)
Hey cool! Is nobody else experiencing the problems with negative hash-values? Anyway, here is the small patch again: diff -r a9312b9e22c6 dw-testbed-0.0.43j/lout/container.hh --- a/dw-testbed-0.0.43j/lout/container.hh Mon Oct 01 18:37:12 2007 +0200 +++ b/dw-testbed-0.0.43j/lout/container.hh Mon Oct 01 19:35:34 2007 +0200 @@ -212,7 +212,7 @@ private: private: inline int calcHashValue(object::Object *key) { - return key->hashValue() % tableSize; + return abs(key->hashValue()) % tableSize; } protected: Cheers, Johannes
On Thu, Oct 11, 2007 at 11:16:45PM +0200, Johannes Hofmann wrote:
[...] The new CVS repository is up and updated with the patches:
e.g. (with "-cur" terminated directories being the working directories)
alias dcvs='cvs -z3 -djcid@auriga.wearlab.de:/sfhome/cvs/dillo' dcvs co dillo2 dcvs co dw2 cp -r dillo2 dillo2-cur cp -r dw2 dw2-cur ln -s dw2-cur dw-testbed find dw2-cur -name CVS -exec rm \{\} \; find dillo2-cur -name CVS -exec rm \{\} \; cd dw2-cur ./autogen.sh make cd ../dillo2-cur ./autogen.sh make
Great, but it keeps asking for a password, am I missing something?
Just press ENTER!
[Johannes wrote] * the namespace "signal" in dw-testbed/lout/signal.hh conflicts with the declaration in /usr/include/sys/signal.h: __sighandler_t *signal (int, __sighandler_t *); I renamed the namespace to loutsignal.
Johannes: please send me the patch for this.
As only I seem to have these problems it might well be a problem of DragonFly BSD. So I would like to check that first before changing the nice an simple names in the lout library.
OK.
[Johannes wrote] here is a new version of dillo-fltk scroll performance improvements. This patch is against vanilla dillo-fltk.
New in this patch:
* Hotkey bindings for arrow keys, Home- and EndKey. This only works when the focus is on the display area.
* Only unclipped area is exposed which improves performance on large pages (e.g. http://www.w3.org/TR/xslt).
* Limit scrolling to reasonable values.
It improves not only performance on large pages but also avoids overlapped rendering. Applied.
Great. I will try to add some more performance improvements.
Good. Please read my comments in the next mail (after finishing this one).
[Johannes wrote] Mouse wheel is a matter of binding. Place your mouse pointer over the scroll bar and use the mouse wheel (it needs to be bound to the viewport).
It is slow, because the default linesize (the amount a scrollbar scrolls when pushing on the arrow is 1. I could change that, but what would be a reasonable value?
The height of a word in normal text (i.e. line height). We know the font and font factor from dillorc2 (or defaults). This number is a good candidate.
Ok, I will try to add this.
Good.
---------------- Side Note to all: Have you right-clicked over the search button? :-)
Hey cool!
;-)
Is nobody else experiencing the problems with negative hash-values? Anyway, here is the small patch again:
diff -r a9312b9e22c6 dw-testbed-0.0.43j/lout/container.hh --- a/dw-testbed-0.0.43j/lout/container.hh Mon Oct 01 18:37:12 2007 +0200 +++ b/dw-testbed-0.0.43j/lout/container.hh Mon Oct 01 19:35:34 2007 +0200 @@ -212,7 +212,7 @@ private: private: inline int calcHashValue(object::Object *key) { - return key->hashValue() % tableSize; + return abs(key->hashValue()) % tableSize; }
protected:
Sorry I left that out, but now it is in CVS too. -- Cheers Jorge.-
On Oct 16 18:13:29, Jan Stary wrote:
cvs -z3 -djcid@auriga.wearlab.de:/sfhome/cvs/dillo Great, but it keeps asking for a password, am I missing something? Just press ENTER!
Just asks for password again ...
OTOH, -d:pserver:anonymous@auriga.wearlab.de:/sfhome/cvs/dillo works just fine jan
Hello,
[Johannes wrote] * the namespace "signal" in dw-testbed/lout/signal.hh conflicts with the declaration in /usr/include/sys/signal.h: __sighandler_t *signal (int, __sighandler_t *); I renamed the namespace to loutsignal.
Johannes: please send me the patch for this.
As only I seem to have these problems it might well be a problem of DragonFly BSD. So I would like to check that first before changing the nice an simple names in the lout library.
I just looked into this issue once again and it seems that in principle the problem exists on Linux too. If you try to compile: #include <signal.h> namespace signal {} e.g. with "g++ -c namespace.cc", I get an error on Linux too. It's just that only DragonFly happens to (indirectly) include signal.h in the current dillo sources and Linux does not. So as soon as we need to include signal.h directly, we will have the problem on all platforms. I don't really understand the use of namespaces in the lout library. Instead of wrapping each class / feature in it's own namespace, I would have expected a single "lout" namespace containing classes like signal, container etc. This would also solve the name clash with signal.h. However Sebastian has certainly had his reasons for the current setup, so I don't want to make a patch for a drastic change like that without his comments. Regards, Johannes
On Thu, Oct 11, 2007 at 03:22:50PM -0400, dillo-dev-bounces@dillo.org wrote:
Hi There!
Once again, thanks for the patches and keep them flowing.
The new CVS repository is up and updated with the patches:
Hi, The code in CVS doesn't compile as-is for me, due to my fltk2 not being installed in /usr or /usr/local. I need the attached patch to make it work. Frank -- "Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan
On Thu, Oct 11, 2007 at 10:45:08PM +0200, Frank Gevaerts wrote:
On Thu, Oct 11, 2007 at 03:22:50PM -0400, dillo-dev-bounces@dillo.org wrote:
Hi There!
Once again, thanks for the patches and keep them flowing.
The new CVS repository is up and updated with the patches:
Hi,
The code in CVS doesn't compile as-is for me, due to my fltk2 not being installed in /usr or /usr/local. I need the attached patch to make it work.
Frank
Done! BTW, please send patches with "diff -pru". This is, let's say we have: dillo2 // CVS tree dillo2-cur // working tree dw2 // CVS tree dw2-cur // working tree diff -pru dillo2 dillo2-cur > <patch-name-dillo2>.diff diff -pru dw2 dw2-cur > <patch-name-dw2>.diff TIA. -- Cheers Jorge.-
On Thu, Oct 11, 2007 at 03:22:50PM -0400, dillo-dev-bounces@dillo.org wrote:
[Matthias wrote] Compilation on Debian Etch worked well. I had to use the "--x-includes" and "--x-libraries" options when configuring FLTK, and the test glpuzzle did not compile.
I'm also using Etch here and didn't need those options. I also have a running glpuzzle.
I need to say "--x-includes=/usr/include/X11/ --x-libraries=/usr/lib/" because I don't have the include file "X11/Intrinsic.h" from the Debian package libxt-dev, which is not installed. This package seems to be necessary to determine these directories automatically. When compiling glpuzzle, I get Compiling glpuzzle.cxx... In file included from ../fltk/glut.h:49, from glpuzzle.cxx:35: ../fltk/gl.h:69:21: error: GL/gl.h: No such file or directory glpuzzle.cxx:39:40: error: GL/glu.h: No such file or directory [many more errors] My config.h says /* Set this to 0 if your system does not have OpenGL. This will disable all the code in libfltk2_gl and disable the demo programs that use OpenGL. */ #define HAVE_GL 0 It seems that this flag is not evaluated when compiling glpuzzle. This should probably be changed by the fltk folks. Cheers, -- Matthias Franz
Hi all, this is what happens on my FreeBSD 6.2-RELEASE-p8. $ cvs -z3 -d:pserver:anonymous@auriga.wearlab.de:/sfhome/cvs/dillo co dw2 $ cvs -z3 -d:pserver:anonymous@auriga.wearlab.de:/sfhome/cvs/dillo co dillo2 $ ln -s dw2 dw-testbed $ cd dw-testbed $ ./autogen.sh && ./configure && make [goes ok] $ cd ../dillo2 $ ./autogen.sh $ ./configure [goes ok] Then make (gmake too) fails with [...] Making all in IO^M if gcc -DHAVE_CONFIG_H -I. -I. -I.. -DDILLORC_SYS='"/usr/local/etc/dillorc"' - I/usr/local/include -I../../dw-testbed -I/usr/local/include/libpng -O2 -fno-stri ct-aliasing -pipe -march=pentium3m -g -O2 -DD_DNS_THREADED -D_REENTRANT -D_THREA D_SAFE -Wall -W -Wno-unused-parameter -Waggregate-return -MT colors.o -MD -MP -M F ".deps/colors.Tpo" -c -o colors.o colors.c; then mv -f ".deps/colors.Tpo" ".d eps/colors.Po"; else rm -f ".deps/colors.Tpo"; exit 1; fi In file included from colors.c:15: colors.h:8: error: syntax error before "a_Color_parse" colors.h:8: error: syntax error before "int32_t" colors.h:8: warning: type defaults to `int' in declaration of `a_Color_parse' colors.h:8: warning: data definition has no type or storage class The colors.h is just --- #ifndef __COLORS_H__ #define __COLORS_H__ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ int32_t a_Color_parse (const char *subtag, int32_t default_color, int *err); int32_t a_Color_vc(int32_t candidate, int32_t c1, int32_t c2, int32_t c3); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* __COLORS_H__ */ --- Simply including <sys/types.h> in color.h makes it compile happily. Jan
On Thu, Oct 18, 2007 at 01:32:40PM +0200, Jan Stary wrote:
colors.h:8: error: syntax error before "a_Color_parse" colors.h:8: error: syntax error before "int32_t" colors.h:8: warning: type defaults to `int' in declaration of `a_Color_parse' colors.h:8: warning: data definition has no type or storage class [...]
Simply including <sys/types.h> in color.h makes it compile happily.
Does it work with <stdint.h> ? -- Cheers Jorge.-
participants (5)
-
bogus@does.not.exist.com
-
hans@stare.cz
-
Johannes.Hofmann@gmx.de
-
lists@gevaerts.be
-
matthias.franz@ujf-grenoble.fr