First patch is for removing expired TODO item, just resending it.
Second patch is new, for dpid.c.
Function fill_services_list has a bug: on line 463 there is a check
*services_list != NULL. If it is true, then -1 is returned, but
dpidrc_stream is not closed.
Error message on line 456 says "popen failed", should be "fopen
failed".
fill_services_list checks for availability of user_dpidir and
sys_dpidir, but after line 449 these variables are not used. They are
just dFreed in the end. Looks like code was just copypasted from
register_all.
fill_services_list is only called from main.c:248 and dpid.c:807 of
dpid.c. register_all is called from main.c:235 and dpid.c:806. So
fill_services_list is always called after register_all and doing the
same check is useless.
On line 503 there is a conversion of services_alpha_comp to type
(dCompareFunc). I changed the function services_alpha_comp to the
usual style of writing comparison functions so no conversion is
required. In the current state it is undefined behaviour. [1]
[1]
http://stackoverflow.com/questions/559581/casting-a-function-pointer-to-ano…
I implemented basic Gopher support using DPI, patch is attached. It is
already quite usable.
"URL:" links are not supported, but Gopher servers send redirect pages
for compatibility.
The only major problem is unrecognized file types. I looked at FTP
DPI. It sends Content-type: application/octet-stream. This forces
Dillo to ask downloads DPI to start download. With gopher it doesn't
work as downloads DPI doesn't suppport gopher.
So Dillo just says "Content-Type 'application/octet-stream' not
viewable.". I left it as it is for now, because I don't think adding
support for all known and unknown protocols into downloads.cc is the
right solution. Maybe downloads DPI protocol should be changed so
Dillo would feed plugin with data it receives as octet-stream and
downloads DPI would only save what it receives to disk instead of
connecting to server and downloading the file itself.
Hi there,
These days I've devoted some more effort to the tooltips bug [1]
and its workaround patch [2]. The motivation is that the current
workaround involves a full UI and viewport expose (i.e. a full
erase/redraw) that produces annoying flickering when the mouse is
in the UI but outside the viewport (e.g. over the panel).
Over time I've learnt to move the mouse pointer outside the
panel and into the viewport to scroll without flickering (but
probably I'm among the few that know this trick).
So far (and despite the warning inside FLTK), I've experimented
with a custom tooltip handling class, and a couple custom UI
widgets, that seem to work well together (i.e. solve the problem
without the workaround :) ).
Testing revealed the workaround concealed another problem,
which I don't remember whether it was detected before, and this
is that viewport mouse events get "through" the panel UI!.
How?, placing the mouse pointer over the panel (e.g. to the
right of the Tools button, or even inside the Location), and
scrolling a page full of links under it, will make the mouse
pointer change to a hand, and the destination link appear in the
status bar area.
This bug is revealed by disabling the workaround: just apply
the small attached patch.
Clearly there's a viewport offset problem somewhere. Correcting
it may save us lots of headaches in the future.
Does anybody know or has a clue of where this may be happening?
TIA.
[1] http://lists.auriga.wearlab.de/pipermail/dillo-dev/2011-July/008494.html
[2] http://lists.auriga.wearlab.de/pipermail/dillo-dev/2011-July/008515.html
--
Cheers
Jorge.-
On Fri, Dec 14, Sebastian Geerken wrote:
> The HTML parser passes invalid UTF-8 to dw::Textblock. I will make
> nextUtf8Char more robust (of course, dillo should not crash), ...
Done. Both pages work now.
Sebastian
Dear Dillo developers,
with the current Dillo development version 2672:4d0bdcf10ee7 (Fri Dec
14 12:24:54 2012 +0100) I get a segfault when I try to access the
Dillo bug database.
How to reproduce
================
1. open www.dillo.org/bugtrack/Dquery.html
2. press the "Find it!" button in the "Bug type search" section
3. segfault
gdb output and backtrace
========================
Nav_open_url: new url='http://www.dillo.org/cgi-bin/bugtrack/Dillo_query.cgi?what=all&Submit=Find+…'
Connecting to 134.102.206.165
*** [dillo/3.0.2] This should not happen! ***
Program received signal SIGABRT, Aborted.
0x00007ffff5eed1b5 in *__GI_raise (sig=<value optimized out>)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: Datei oder Verzeichnis nicht gefunden.
in ../nptl/sysdeps/unix/sysv/linux/raise.c
Current language: auto
The current source language is "auto; currently c".
(gdb) bt
#0 0x00007ffff5eed1b5 in *__GI_raise (sig=<value optimized out>)
at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007ffff5eeffc0 in *__GI_abort () at abort.c:92
#2 0x0000000000471616 in assertNotReached (s=<value optimized out>)
at misc.hh:38
#3 _nextUtf8Char (s=<value optimized out>) at unicode.cc:92
#4 0x000000000047163c in lout::unicode::nextUtf8Char (s=0x98d10c "\267",
len=1) at unicode.cc:114
#5 0x000000000044e8d0 in dw::Textblock::addText (this=<value optimized out>,
text=0x98d10c "\267", len=<value optimized out>,
style=<value optimized out>) at textblock.cc:1430
#6 0x000000000042ee54 in Html_process_word (html=0x933960,
buf=<value optimized out>, bufsize=<value optimized out>,
Eof=<value optimized out>) at html.cc:1216
#7 Html_write_raw (html=0x933960, buf=<value optimized out>,
bufsize=<value optimized out>, Eof=<value optimized out>) at html.cc:3923
#8 0x000000000042f6bc in DilloHtml::write (this=0x1bcb,
Buf=<value optimized out>, BufSize=<value optimized out>, Eof=-1)
at html.cc:531
#9 0x0000000000419fd3 in Cache_process_queue (entry=0x847120) at cache.c:1214
#10 0x00000000004167c9 in a_Chain_fcb (Op=7115, Info=<value optimized out>,
Data1=<value optimized out>, Data2=<value optimized out>) at chain.c:114
#11 0x0000000000441cd3 in Dpi_parse_token (Op=<value optimized out>,
---Type <return> to continue, or q <return> to quit---
Branch=<value optimized out>, Dir=<value optimized out>,
Info=<value optimized out>, Data1=<value optimized out>, Data2=0x0)
at dpi.c:220
#12 Dpi_process_dbuf (Op=<value optimized out>, Branch=<value optimized out>,
Dir=<value optimized out>, Info=<value optimized out>,
Data1=<value optimized out>, Data2=0x0) at dpi.c:339
#13 a_Dpi_ccc (Op=<value optimized out>, Branch=<value optimized out>,
Dir=<value optimized out>, Info=<value optimized out>,
Data1=<value optimized out>, Data2=0x0) at dpi.c:735
#14 0x00000000004167c9 in a_Chain_fcb (Op=7115, Info=<value optimized out>,
Data1=<value optimized out>, Data2=<value optimized out>) at chain.c:114
#15 0x000000000044223f in a_IO_ccc (Op=2, Branch=<value optimized out>, Dir=1,
Info=0x7576a0, Data1=0x883af0, Data2=0x0) at IO.c:428
#16 0x000000000044246d in IO_read (io=0x883af0) at IO.c:197
#17 0x00000000004424ed in IO_callback (io=0x883af0) at IO.c:262
#18 0x00000000004425ec in IO_fd_read_cb (fd=8, data=<value optimized out>)
at IO.c:283
#19 0x0000000000496932 in fl_wait(double) ()
#20 0x000000000047306b in Fl::wait(double) ()
#21 0x00000000004730db in Fl::run() ()
#22 0x000000000040810d in main (argc=1, argv=0x7fffffffe3d8) at dillo.cc:451
Could you please have a look at this issue?
Kind regards,
Alex
Hi there,
Just noticed this:
Nav_open_url: new url='http://news.bress.net/search.php?feed=149'
Dns_server [0]: news.bress.net is 67.205.59.213
Connecting to 67.205.59.213
NumPendingStyleSheets=1
*** [dillo/3.0.2] This should not happen! ***
Aborted
This is new, as dillo from Nov 14 doesn't exit.
Any clues?
--
Cheers
Jorge.-