On Mon, Nov 12, 2007 at 05:56:36PM +0100, Johannes Hofmann wrote:
On Fri, Nov 09, 2007 at 09:34:33AM -0300, Jorge Arellano Cid wrote:
Hi,
On Fri, Nov 09, 2007 at 09:09:26AM -0300, Jorge Arellano Cid wrote:
[...] As a side effect of flickering, I noticed several times how some non existent inputs (text entries and buttons) were phantom-rendered during updates (i.e. appeared on screen for a few jiffies).
[...]
For instance, enable flickering (disable double-buffer and internal buffer), then go to:
1. www.google.com //and then to 2. chlamydia.fs.ei.tum.de/pub/DragonFly/packages/stable/DragonFly-1.10/All/
While loading the second URL you'll see the phantom-rendering of the text input and the two buttons that google uses.
Although now we have memory-freeing hooked, the phantom rendering still occurs...
Yes, maybe it has to do with how dillo widgets must be deleted. There was recently a discussion about this in the fltk forums. I will try to figure out what happens. But at the moment I get various sorts of crashes with this patch immediately when I load a page with forms.
Here it doesn't crash, but it's sure the phantom widgets are referencing freed memory (it get garbage labels).
You can comment:
dw->setDeleteCallback(a_Html_free, this);
and test as it was before the patch (with no memory freeing).
just a short update on this issue. There seems to be something more fundamentally wrong on my system.
#include "../dlib.h"
int main (char **argv, int argc) { Dstr *ds = dStr_new("");
dStr_sprintfa(ds, "Hello %s", "foo"); dStr_sprintfa(ds, "World %d", 42); }
crashes here, but it runs fine on Linux and even valgrind does not complain on Linux.
If vsnprintf(), when called alone, works on your system, try adding the extra: va_copy(argp2, argp); to dStr_sprintfa() as in dStr_vsprintfa(). Just an idea. -- Cheers Jorge.-