comparison pidgin/gtkimhtmltoolbar.c @ 21913:2a591a5b3322

Make some more event handlers return appropriate gboolean values. This turns out to be a pretty important thing to do. Not returning FALSE from a delete_event callback would, for example, only hide a widget, instead of destroying it, which can cause leaks.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Fri, 21 Dec 2007 14:19:29 +0000
parents 03c950701fac
children 07eb63fa0bdb
comparison
equal deleted inserted replaced
21912:6765b2b65d30 21913:2a591a5b3322
97 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(large))) 97 if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(large)))
98 gtk_imhtml_font_grow(GTK_IMHTML(toolbar->imhtml)); 98 gtk_imhtml_font_grow(GTK_IMHTML(toolbar->imhtml));
99 gtk_widget_grab_focus(toolbar->imhtml); 99 gtk_widget_grab_focus(toolbar->imhtml);
100 } 100 }
101 101
102 static void 102 static gboolean
103 destroy_toolbar_font(GtkWidget *widget, GdkEvent *event, 103 destroy_toolbar_font(GtkWidget *widget, GdkEvent *event,
104 GtkIMHtmlToolbar *toolbar) 104 GtkIMHtmlToolbar *toolbar)
105 { 105 {
106 if (widget != NULL) 106 if (widget != NULL)
107 gtk_imhtml_toggle_fontface(GTK_IMHTML(toolbar->imhtml), ""); 107 gtk_imhtml_toggle_fontface(GTK_IMHTML(toolbar->imhtml), "");
109 if (toolbar->font_dialog != NULL) 109 if (toolbar->font_dialog != NULL)
110 { 110 {
111 gtk_widget_destroy(toolbar->font_dialog); 111 gtk_widget_destroy(toolbar->font_dialog);
112 toolbar->font_dialog = NULL; 112 toolbar->font_dialog = NULL;
113 } 113 }
114 return FALSE;
114 } 115 }
115 116
116 static void 117 static void
117 realize_toolbar_font(GtkWidget *widget, GtkIMHtmlToolbar *toolbar) 118 realize_toolbar_font(GtkWidget *widget, GtkIMHtmlToolbar *toolbar)
118 { 119 {
189 cancel_toolbar_font(font, toolbar); 190 cancel_toolbar_font(font, toolbar);
190 } 191 }
191 gtk_widget_grab_focus(toolbar->imhtml); 192 gtk_widget_grab_focus(toolbar->imhtml);
192 } 193 }
193 194
194 static void 195 static gboolean
195 destroy_toolbar_fgcolor(GtkWidget *widget, GdkEvent *event, 196 destroy_toolbar_fgcolor(GtkWidget *widget, GdkEvent *event,
196 GtkIMHtmlToolbar *toolbar) 197 GtkIMHtmlToolbar *toolbar)
197 { 198 {
198 if (widget != NULL) 199 if (widget != NULL)
199 gtk_imhtml_toggle_forecolor(GTK_IMHTML(toolbar->imhtml), ""); 200 gtk_imhtml_toggle_forecolor(GTK_IMHTML(toolbar->imhtml), "");
201 if (toolbar->fgcolor_dialog != NULL) 202 if (toolbar->fgcolor_dialog != NULL)
202 { 203 {
203 gtk_widget_destroy(toolbar->fgcolor_dialog); 204 gtk_widget_destroy(toolbar->fgcolor_dialog);
204 toolbar->fgcolor_dialog = NULL; 205 toolbar->fgcolor_dialog = NULL;
205 } 206 }
207 return FALSE;
206 } 208 }
207 209
208 static void cancel_toolbar_fgcolor(GtkWidget *widget, 210 static void cancel_toolbar_fgcolor(GtkWidget *widget,
209 GtkIMHtmlToolbar *toolbar) 211 GtkIMHtmlToolbar *toolbar)
210 { 212 {
261 cancel_toolbar_fgcolor(color, toolbar); 263 cancel_toolbar_fgcolor(color, toolbar);
262 } 264 }
263 gtk_widget_grab_focus(toolbar->imhtml); 265 gtk_widget_grab_focus(toolbar->imhtml);
264 } 266 }
265 267
266 static void 268 static gboolean
267 destroy_toolbar_bgcolor(GtkWidget *widget, GdkEvent *event, 269 destroy_toolbar_bgcolor(GtkWidget *widget, GdkEvent *event,
268 GtkIMHtmlToolbar *toolbar) 270 GtkIMHtmlToolbar *toolbar)
269 { 271 {
270 if (widget != NULL) { 272 if (widget != NULL) {
271 if (gtk_text_buffer_get_selection_bounds(GTK_IMHTML(toolbar->imhtml)->text_buffer, NULL, NULL)) 273 if (gtk_text_buffer_get_selection_bounds(GTK_IMHTML(toolbar->imhtml)->text_buffer, NULL, NULL))
277 if (toolbar->bgcolor_dialog != NULL) 279 if (toolbar->bgcolor_dialog != NULL)
278 { 280 {
279 gtk_widget_destroy(toolbar->bgcolor_dialog); 281 gtk_widget_destroy(toolbar->bgcolor_dialog);
280 toolbar->bgcolor_dialog = NULL; 282 toolbar->bgcolor_dialog = NULL;
281 } 283 }
284 return FALSE;
282 } 285 }
283 286
284 static void 287 static void
285 cancel_toolbar_bgcolor(GtkWidget *widget, GtkIMHtmlToolbar *toolbar) 288 cancel_toolbar_bgcolor(GtkWidget *widget, GtkIMHtmlToolbar *toolbar)
286 { 289 {
573 gtk_widget_destroy(toolbar->smiley_dialog); 576 gtk_widget_destroy(toolbar->smiley_dialog);
574 toolbar->smiley_dialog = NULL; 577 toolbar->smiley_dialog = NULL;
575 } 578 }
576 } 579 }
577 580
578 static void 581 static gboolean
579 close_smiley_dialog(GtkWidget *widget, GdkEvent *event, 582 close_smiley_dialog(GtkWidget *widget, GdkEvent *event,
580 GtkIMHtmlToolbar *toolbar) 583 GtkIMHtmlToolbar *toolbar)
581 { 584 {
582 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->smiley), FALSE); 585 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toolbar->smiley), FALSE);
586 return FALSE;
583 } 587 }
584 588
585 589
586 static void 590 static void
587 insert_smiley_text(GtkWidget *widget, GtkIMHtmlToolbar *toolbar) 591 insert_smiley_text(GtkWidget *widget, GtkIMHtmlToolbar *toolbar)