Re: Core-dump pasting from one form field into another
James C <[email protected]>
| Newsgroups | gmane.comp.web.dillo.devel |
|---|---|
| Message-ID | <CACZ9Q6jSMhnWDuptPdSYJQ6ALoX-bnZB_kzNLZ0B6a7oMQqFxw@mail.gmail.com> |
Hi All,
I think I've worked out what's going on with drag-and-drop.
We're compiling with -fno-rtti and (some parts of) fltk do
dynamic_cast, which needs rtti. The run-time handling for detecting
the conflict is nonexistent/unforgiving.
When I make the change below and rebuild, drag-and-drop starts working for me.
The executable size penalty is significant. The only 3+MB one is the
only one with rtti turned on:
...$ ls -l versions/*/*/src/dillo
-rwxr-xr-x 1 ... staff 2943392 25 Nov 21:42
versions/cookies/dillo-jfw01/src/dillo
-rwxr-xr-x 1 ... staff 3253032 20 Jan 20:10
versions/everything/dillo-jfw01/src/dillo
-rwxr-xr-x 1 ... staff 2943096 26 Oct 16:46
versions/pull-everything/dillo-jfw01/src/dillo
-rwxr-xr-x 1 ... staff 2942840 15 Sep 18:11
versions/render/dillo-jfw01/src/dillo
-rwxr-xr-x 1 ... staff 2942448 28 Oct 17:58
versions/ssh-everything-dirty/dillo-jfw01/src/dillo
...$
There are two dynamic casts in fltk:
./src/Fl_cocoa.mm:3792: if ( dynamic_cast<Fl_Input_*>(w) != NULL ||
dynamic_cast<Fl_Text_Display*>(w) != NULL) {
./src/Fl_cocoa.mm:3973: BOOL to_quartz =
dynamic_cast<Fl_Printer*>(this) != NULL;
I have no opinion yet about how difficult they would be to replace.
The way forward should be decided by someone who remembers why no-rtti
was originally turned on.
Regards,
James.
$ hg diff configure.ac
diff -r e773dab661ec configure.ac
--- a/configure.ac Wed Sep 17 00:24:37 2014 +1200
+++ b/configure.ac Tue Jan 20 20:49:00 2015 +1300
@@ -488,7 +488,8 @@
dnl
if eval "test x$GCC = xyes"; then
- CXXFLAGS="$CXXFLAGS -Wall -W -Wno-unused-parameter -fno-rtti -fno-exceptions"
+ CXXFLAGS="$CXXFLAGS -Wall -W -Wno-unused-parameter -fno-exceptions"
+dnl removed -fno-rtti to enable DND in FLTK
fi
AC_SUBST(BASE_CUR_WORKING_DIR)
On 1/7/15, Johannes Hofmann <[email protected]> wrote:
> On Sat, Dec 27, 2014 at 08:42:55PM +0100, Johannes Hofmann wrote:
>> On Sat, Dec 27, 2014 at 06:22:12PM +0000, eocene wrote:
>> > James wrote:
>> > > This is exercisable in Dillo 3.0.4.1, but not new. I found it by
>> > > accident in my hack-up of Dillo 3.0.4.
>> > >
>> > > The reproduction is:
>> > > - enable cookies for .google.com
>> > > - navigate to https://mail.google.com/mail/?ui=html
>> > > - fight the links until you get a screen with two fields, one for the
>> > > username and one for the password
>> > > - type something into the username field
>> > > - select it and drag to the password field
>> > > -- core dump
>> > >
>> > > I am on:
>> > >
>> > > - OSX 10.6.8
>> > > - Dillo 3.0.4.1 with SSL enabled
>> > > - FLTK 1.3.3
>> > > - with dpid, etc from Dillo 3.0.4 with extensive hacking
>> > >
>> > > so the fault could be Mac-specific.
>> >
>> > I tried playing around a little, on linux and not having a gmail acct,
>> > and nothing wanted to go wrong, so, yeah, it might be an osx issue...
>>
>> Can't reproduce it either on DragonFly BSD. I can try later to get
>> a stack trace on osx.
>
> On MacOSX all attempts to drag and drop crash dillo for me.
> As it also causes confusion on X11 based systems I disabled DND
> alltogether for now.
>
> Cheers,
> Johannes
>
> _______________________________________________
> Dillo-dev mailing list
> [email protected]
> http://lists.dillo.org/cgi-bin/mailman/listinfo/dillo-dev
>