From: Ray S. <hal...@ha...> - 2003-01-02 06:05:51
Attachments:
browser-launch-cleanup.patch
browser-prefs.patch
|
Attached are two patches. One of the patches hides browsers that arent installed from the preferences menu. It also adds a Set and Reset button to the Manual browser entry, so that the entry can be validated, too. The other patch switches browser.c over to the g_spawn_* api, adds error messages, and fixes a bug that was preventing the gaim interface from redrawing under certain situations if Netscape is the configured browser. Note I cant get netscape 4.x to work on my computer, so I wasnt able to test it with that browser (and there is some pretty complicated code for talking to that browser). Another issue. It seems that browser.c currently uses some code that is from netscape/jwz and the original code specifies that the copyright and permission notice must remain in tact. browser.c has the copyright notice, but it doesnt have the permission notice. Furthermore, I dont think it could because it conflicts with the gpl. Also, the offending code has to jump through some hoops to coexist with Gtk+ and it really is quite ugly. I think it would be better to just bundle a helper program with gaim and use that if netscape is installed (maybe use the program that the code was taken from). That solves the GPL issue and the asthetics issue. --Ray Strode |
From: Robert M. <rob...@de...> - 2003-01-02 06:57:33
|
On Wed, Jan 01, 2003 at 08:05:47PM -1000, Ray Strode wrote: > Attached are two patches. > One of the patches hides browsers that arent installed from the > preferences menu. It also adds a Set and Reset button to the Manual > browser entry, so that the entry can be validated, too. Considering this was my suggestion, great! I'm gathering from other text entry boxes in prefs that it's not possible to validate the entry automatically very easily? Is there some event we can hook to when the Browser pane is switched away from, as well as the obvious dialog box closure? > The other patch switches browser.c over to the g_spawn_* api, adds error > messages, and fixes a bug that was preventing the gaim interface from > redrawing under certain situations if Netscape is the configured > browser. Note I cant get netscape 4.x to work on my computer, so I > wasnt able to test it with that browser (and there is some pretty > complicated code for talking to that browser). I'm all for this patch too. Great cleanups. > Another issue. It seems that browser.c currently uses some code that is > from netscape/jwz and the original code specifies that the copyright and > permission notice must remain in tact. browser.c has the copyright > notice, but it doesnt have the permission notice. Furthermore, I dont > think it could because it conflicts with the gpl. > > Also, the offending code has to jump through some hoops to coexist with > Gtk+ and it really is quite ugly. > > I think it would be better to just bundle a helper program with gaim and > use that if netscape is installed (maybe use the program that the code > was taken from). That solves the GPL issue and the asthetics issue. Copyright aside (I've suspected browser.c for about a year =), I think we can drop netscape support. It's ugly, it has questionable copyright, the browser sucks, there are plenty popular free replacements, nobody ships it any more, and nobody I know uses it. GNOME dropped it too (they had a helper called gnome-moz-remote which they canned in GNOME2). Anyone object if we just drop Netscape support? We could nuke browser.c and put the URL function in util.c then. =) > --Ray Strode With the patch, you seem to have reverted a bunch of gtk_signal_connect -> g_signal_connect changes that have been made in CVS. Please use 'cvs diff -u' to generate your patches from a modified CVS tree, rather than editing files out of place and then diffing with a CVS tree which could contain other irrelevant changes. Editing in place means CVS will merge your changes with the ones in the repository as best it can. Even so, it's always a good idea to page through your patch and make sure all the hunks are meaningful. There are always a few I delete out of mine. Otherwise, great work. I wonder what else on my TODO list you'd be interested in? =) Regards, Rob |
From: Ray S. <hal...@ha...> - 2003-01-02 15:44:08
Attachments:
browser-launch-cleanup.patch
browser-prefs.patch
|
> > >Is there some event we can hook to when the Browser pane is switched away from, as well as the obvious dialog box closure? > > Yes I believe so. I can change it to not have the buttons, if that way is better. >Copyright aside (I've suspected browser.c for about a year =), I think >we can drop netscape support. It's ugly, it has questionable copyright, >the browser sucks, there are plenty popular free replacements, nobody >ships it any more, and nobody I know uses it. GNOME dropped it too >(they had a helper called gnome-moz-remote which they canned in >GNOME2). Anyone object if we just drop Netscape support? We could nuke >browser.c and put the URL function in util.c then. =) > > I was thinking along those same lines until someone on IRC said that the protocol has come pretty standard among the browsers (It works with Netscape, Mozilla, and Opera at least). Also, the protocol doesnt require the browser run on the same machine as gaim (they just have to be using the same display server). I think that is a neat feature. I think maybe the code just needs to be cleaned up and restructured. All the X stuff should be moved to its own source file, and the interface (netscape_command() currently) should allow more than one request at a time (Set up a queue, also, use any available netscape windows and not just the first one found). I still think we should investigate the possible issues arisen from mixing this code with GPLd though and possibly move certain functionality to a helper application. >With the patch, you seem to have reverted a bunch of gtk_signal_connect >-> g_signal_connect changes that have been made in CVS. > Oops, sorry about that. My cvs tree was screwed up. The attached patches should play nicer. --Ray Strode |
From: Robert M. <rob...@de...> - 2003-01-03 00:15:29
|
On Thu, Jan 02, 2003 at 05:44:01AM -1000, Ray Strode wrote: > Yes I believe so. I can change it to not have the buttons, if that way > is better. It seems more in keeping with the rest of Gaim. We do, in general, have a problem with deciding when text values are changed and need to be saved to gaimrc (I may be wrong, faceprint has been fruxing around with this for a while). Validation is a similar problem. > I still think we should investigate the possible issues arisen from > mixing this code with GPLd though and possibly move certain > functionality to a helper application. I'd be very tempted to look at something we know that already implements a full helper application... ie gnome-moz-remote, and remove the gnomicity from it. Then it could be gaim-moz-remote, and could be the default handler (I guess?). Anyone got any objections this course of action, or to removing the Netscape code whilst we look at the best way to do this? =) > Oops, sorry about that. My cvs tree was screwed up. The attached > patches should play nicer. Looks better. > --Ray Strode Regards, Rob |
From: Luke S. <lsc...@gm...> - 2003-01-11 06:46:36
|
Okay, on robot101's advice, i'm mailing gaim-devel about this instead of just sean. this is on attempting to open preferences with currecnt cvs (as of 20030111, 1:40am est) (gdb) bt #0 0x405ce581 in kill () from /lib/libc.so.6 #1 0x4005a94e in pthread_kill () from /lib/libpthread.so.0 #2 0x4005ae29 in raise () from /lib/libpthread.so.0 #3 0x405cf8d1 in abort () from /lib/libc.so.6 #4 0x40615660 in malloc_set_state () from /lib/libc.so.6 #5 0x40613659 in free () from /lib/libc.so.6 #6 0x40551bae in g_free () from /usr/lib/libglib-2.0.so.0 #7 0x4032f24b in gtk_tree_path_free () from /usr/lib/libgtk-x11-2.0.so.0 #8 0x0809a9ac in theme_page () at prefs.c:268 #9 0x0809ef2a in prefs_notebook_init () at prefs.c:1496 #10 0x0809f94c in show_prefs () at prefs.c:1639 #11 0x4050b796 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0 #12 0x404f6e2b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #13 0x4050a993 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 #14 0x4050920a in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #15 0x402dacbf in gtk_signal_emit () from /usr/lib/libgtk-x11-2.0.so.0 #16 0x4035af5c in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0 #17 0x402b12ba in gtk_menu_shell_activate_item () from /usr/lib/libgtk-x11-2.0.so.0 #18 0x402b077b in _gtk_menu_shell_activate () from /usr/lib/libgtk-x11-2.0.so.0 #19 0x402a5a42 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0 #20 0x404f7205 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0 #21 0x404f6e2b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0 #22 0x4050ad8a in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0 #23 0x40509277 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #24 0x402dacbf in gtk_signal_emit () from /usr/lib/libgtk-x11-2.0.so.0 #25 0x4035ae8d in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0 #26 0x4035aaf0 in gtk_widget_event () from /usr/lib/libgtk-x11-2.0.so.0 #27 0x402a58f3 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0 #28 0x402a48fe in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0 #29 0x4042405c in _gdk_events_queue () from /usr/lib/libgdk-x11-2.0.so.0 #30 0x4054ca19 in g_get_current_time () from /usr/lib/libglib-2.0.so.0 #31 0x4054d837 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #32 0x4054dc13 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #33 0x4054e2ef in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #34 0x402a400f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #35 0x0805c5dc in main (argc=2, argv=0xbffffb54) at aim.c:865 (gdb) luke -- -This email is made of 100% recycled electrons. |