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
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.