Re: [evolution-patches] patch for 50646 (gtkhtml)
- From: Charles Zhang <Charles Zhang Sun Com>
- To: Jeffrey Stedfast <fejj ximian com>
- Cc: evolution-patches <evolution-patches lists ximian com>
- Subject: Re: [evolution-patches] patch for 50646 (gtkhtml)
- Date: Mon, 05 Jan 2004 22:31:00 +0800
This patch modified some file in the gtkhtml component.
It will modify the file gtkhtml/components/html-editor/replace.c and the
file gtkhtml/src/htmlreplace.c
Jeffrey Stedfast wrote:
please mention what component the patch is for in the Subject field of
your messages. it makes it easier for us to decide who needs to look
over the patch.
Jeff
On Mon, 2004-01-05 at 09:10, Charles Zhang wrote:
Hello all,
this is a patch for bug 50646.
It fixes the bug of multi dialog appearing while do replacing.
In it, I add a member to record replace-ask-dialog, and use exist
replace-ask-dialog next time.
Please seek it.
Charles
Charles Zhang wrote:
Index: components/html-editor/ChangeLog
===================================================================
RCS file: /cvs/gnome/gtkhtml/components/html-editor/ChangeLog,v
retrieving revision 1.410.2.12
diff -u -p -r1.410.2.12 ChangeLog
--- components/html-editor/ChangeLog 10 Dec 2003 03:35:55 -0000 1.410.2.12
+++ components/html-editor/ChangeLog 10 Dec 2003 11:17:17 -0000
@@ -0,0 +0,5 @@
+2003-12-09 Charles Zhang <charles zhang sun com>
+
+ * replace.c (ask): use exist dialog, don't new dialog blindly.
+ Fixes bug #50646
+
Index: components/html-editor/replace.c
===================================================================
RCS file: /cvs/gnome/gtkhtml/components/html-editor/replace.c,v
retrieving revision 1.18.6.1
diff -u -p -r1.18.6.1 replace.c
--- components/html-editor/replace.c 10 Dec 2003 03:35:56 -0000 1.18.6.1
+++ components/html-editor/replace.c 10 Dec 2003 11:17:21 -0000
@@ -27,6 +27,7 @@
#include "replace.h"
#include "dialog.h"
#include "htmlengine.h"
+#include "htmlreplace.h"
struct _GtkHTMLReplaceAskDialog {
GtkDialog *dialog;
@@ -79,6 +80,7 @@ ask_dialog_new (HTMLEngine *e)
_("_Replace"), 0,
NULL));
d->engine = e;
+ e->replace_info->ask_dialog = d;
gnome_window_icon_set_from_file (GTK_WINDOW (d->dialog), ICONDIR "/search-and-replace-24.png");
g_signal_connect (d->dialog, "response", G_CALLBACK (ask_dialog_response), d);
@@ -91,6 +93,14 @@ ask (HTMLEngine *e, gpointer data)
{
GtkHTMLReplaceAskDialog *ask_dialog;
+ g_assert (e && e->replace_info);
+
+ ask_dialog = (GtkHTMLReplaceAskDialog *) e->replace_info->ask_dialog;
+ if (ask_dialog) {
+ gtk_dialog_run (ask_dialog->dialog);
+ return;
+ }
+
ask_dialog = ask_dialog_new (e);
gtk_dialog_run (ask_dialog->dialog);
gtk_widget_destroy (GTK_WIDGET (ask_dialog->dialog));
Index: src/ChangeLog
===================================================================
RCS file: /cvs/gnome/gtkhtml/src/ChangeLog,v
retrieving revision 1.1814.2.18
diff -u -p -r1.1814.2.18 ChangeLog
--- src/ChangeLog 28 Nov 2003 11:02:25 -0000 1.1814.2.18
+++ src/ChangeLog 10 Dec 2003 11:19:46 -0000
@@ -0,0 +0,6 @@
+2003-12-07 Charles Zhang <charles zhang sun com>
+
+ * htmlreplace.h: add member ask_dialog.
+ * htmlreplace.c(html_replace_new): init member ask_dialog.
+ Fixes bug #50646
+
Index: src/htmlreplace.c
===================================================================
RCS file: /cvs/gnome/gtkhtml/src/htmlreplace.c,v
retrieving revision 1.4
diff -u -p -r1.4 htmlreplace.c
--- src/htmlreplace.c 13 Dec 2000 23:10:51 -0000 1.4
+++ src/htmlreplace.c 10 Dec 2003 11:19:49 -0000
@@ -33,6 +33,7 @@ html_replace_new (const gchar *text, voi
nr->replaced = 0;
nr->ask = ask;
nr->ask_data = ask_data;
+ nr->ask_dialog = NULL;
return nr;
}
Index: src/htmlreplace.h
===================================================================
RCS file: /cvs/gnome/gtkhtml/src/htmlreplace.h,v
retrieving revision 1.4
diff -u -p -r1.4 htmlreplace.h
--- src/htmlreplace.h 21 Nov 2000 10:42:26 -0000 1.4
+++ src/htmlreplace.h 10 Dec 2003 11:19:49 -0000
@@ -30,6 +30,7 @@ struct _HTMLReplace {
gint replaced;
void (*ask) (HTMLEngine *, gpointer);
gpointer ask_data;
+ gpointer ask_dialog;
};
HTMLReplace *html_replace_new (const gchar *text, void (*ask) (HTMLEngine *, gpointer), gpointer ask_data);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]