From: David J. B. <br...@pr...> - 2003-04-13 22:05:30
|
I've been working with some stuff in gtkconv.c to fix SF Bug #707077, and I've found that when one drags a tab off a Gaim conversation window, all the conversation's preferences are lost. I wrote a patch to save the sound preference, but this happens for all preferences. In order to fix this, I see three options. 1: Make a recursive deep copy of the struct gaim_gtk_conversation before it's destroyed, and another deep copy after it's recreated. 2: Work with gtkconv.c to write in a fake destruction and a fake recreation mechanism in this situation (around line 1669), taking code from gaim_window_add_conversation and gaim_window_remove_conversation. 3: Remove the parts that you actually need from those two functions, create new functions for those parts, and have the ~1669 part call the new functions, as well as g_w_a_c and g_w_r_c. All three of these are above my head, so maybe Chip or someone else should take a look at these. Personally, I don't do much of this dragging conversations off windows, so I don't really care. It's probably one of "those bugs" that are a real pain to actually truly fix. -- -----------------v--------------------v------------------------------ David Brigada |AIM: David Brigada |"For every problem there is an br...@pr...|IRC: jsi on freenode| engineering solution." -Wally -----------------^--------------------^------------------------------ |
From: Christian H. <ch...@gn...> - 2003-04-16 00:29:20
|
On Sun, Apr 13, 2003 at 06:05:01PM -0400, David J. Brigada wrote: > I've been working with some stuff in gtkconv.c to fix SF Bug #707077, and > I've found that when one drags a tab off a Gaim conversation window, all > the conversation's preferences are lost. I wrote a patch to save the > sound preference, but this happens for all preferences. In order to fix > this, I see three options. > 1: Make a recursive deep copy of the struct gaim_gtk_conversation before > it's destroyed, and another deep copy after it's recreated. > 2: Work with gtkconv.c to write in a fake destruction and a fake > recreation mechanism in this situation (around line 1669), taking > code from gaim_window_add_conversation and > gaim_window_remove_conversation. > 3: Remove the parts that you actually need from those two functions, > create new functions for those parts, and have the ~1669 part call > the new functions, as well as g_w_a_c and g_w_r_c. > All three of these are above my head, so maybe Chip or someone else should > take a look at these. Personally, I don't do much of this dragging > conversations off windows, so I don't really care. It's probably one of > "those bugs" that are a real pain to actually truly fix. I'm looking into it right now. I'll respond with some info hopefully soon, provided people in this house stop interrupting me :/ Christian =20 --=20 Christian Hammond <> The GNUpdate Project ch...@gn... <> http://www.gnupdate.org/ Ignorance must certainly be bliss or there wouldn't be so many people so resolutely pursuing it.=20 |
From: Christian H. <ch...@gn...> - 2003-04-16 01:27:42
|
On Sun, Apr 13, 2003 at 06:05:01PM -0400, David J. Brigada wrote: > I've been working with some stuff in gtkconv.c to fix SF Bug #707077, and > I've found that when one drags a tab off a Gaim conversation window, all > the conversation's preferences are lost. I wrote a patch to save the > sound preference, but this happens for all preferences. In order to fix > this, I see three options. > 1: Make a recursive deep copy of the struct gaim_gtk_conversation before > it's destroyed, and another deep copy after it's recreated. > 2: Work with gtkconv.c to write in a fake destruction and a fake > recreation mechanism in this situation (around line 1669), taking > code from gaim_window_add_conversation and > gaim_window_remove_conversation. > 3: Remove the parts that you actually need from those two functions, > create new functions for those parts, and have the ~1669 part call > the new functions, as well as g_w_a_c and g_w_r_c. > All three of these are above my head, so maybe Chip or someone else should > take a look at these. Personally, I don't do much of this dragging > conversations off windows, so I don't really care. It's probably one of > "those bugs" that are a real pain to actually truly fix. Should be fixed now. See if it works. Christian =20 --=20 Christian Hammond <> The GNUpdate Project ch...@gn... <> http://www.gnupdate.org/ An engineer is someone who does list processing in FORTRAN. |