[epiphany] ephy-dialog: check if we get a valid EphyDialog



commit 550e996a7a74974e16fe3301d0121ecf09acce37
Author: Diego Escalante Urrelo <descalante igalia com>
Date:   Fri Jan 22 14:28:42 2010 -0500

    ephy-dialog: check if we get a valid EphyDialog
    
    This API is public but we are not really good checking we get valid EphyDialog
    objects when called, add some checks.
    
    Bug #607802

 lib/ephy-dialog.c |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 deletions(-)
---
diff --git a/lib/ephy-dialog.c b/lib/ephy-dialog.c
index 2102836..1cdbe29 100644
--- a/lib/ephy-dialog.c
+++ b/lib/ephy-dialog.c
@@ -1144,6 +1144,8 @@ void
 ephy_dialog_set_modal (EphyDialog *dialog,
 		       gboolean is_modal)
 {
+	g_return_if_fail (EPHY_IS_DIALOG (dialog));
+
 	dialog->priv->modal = is_modal != FALSE;
 
 	gtk_window_set_modal (GTK_WINDOW(dialog->priv->dialog), is_modal);
@@ -1170,6 +1172,8 @@ ephy_dialog_add_enum (EphyDialog *dialog,
 	int i = 0;
 	GList *l = NULL;
 
+	g_return_if_fail (EPHY_IS_DIALOG (dialog));
+
 	info = lookup_info (dialog, property_id);
 	g_return_if_fail (info != NULL);
 
@@ -1197,6 +1201,8 @@ ephy_dialog_set_data_column (EphyDialog *dialog,
 {
 	PropertyInfo *info;
 
+	g_return_if_fail (EPHY_IS_DIALOG (dialog));
+
 	info = lookup_info (dialog, property_id);
 	g_return_if_fail (info != NULL);
 
@@ -1219,6 +1225,8 @@ ephy_dialog_set_pref (EphyDialog *dialog,
 {
 	PropertyInfo *info;
 
+	g_return_if_fail (EPHY_IS_DIALOG (dialog));
+
 	info = lookup_info (dialog, property_id);
 	g_return_if_fail (info != NULL);
 
@@ -1254,6 +1262,8 @@ ephy_dialog_set_size_group (EphyDialog *dialog,
 	GtkSizeGroup *size_group;
 	va_list vl;
 
+	g_return_if_fail (EPHY_IS_DIALOG (dialog));
+
 	size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
 
 	va_start (vl, first_id);
@@ -1309,7 +1319,11 @@ ephy_dialog_construct (EphyDialog *dialog,
 void
 ephy_dialog_show (EphyDialog *dialog)
 {
-	EphyDialogClass *klass = EPHY_DIALOG_GET_CLASS (dialog);
+	EphyDialogClass *klass;
+
+	g_return_if_fail (EPHY_IS_DIALOG (dialog));
+
+	klass = EPHY_DIALOG_GET_CLASS (dialog);
 	klass->show (dialog);
 }
 
@@ -1334,11 +1348,13 @@ ephy_dialog_hide (EphyDialog *dialog)
  *
  * Runs gtk_dialog_run on @dialog and waits for a response.
  *
- * Returns: the user response to gtk_dialog_run
+ * Returns: the user response to gtk_dialog_run or 0 if @dialog is not valid
  **/
 int
 ephy_dialog_run (EphyDialog *dialog)
 {
+	g_return_val_if_fail (EPHY_IS_DIALOG (dialog), 0);
+
 	ephy_dialog_show (dialog);
 
 	gtk_window_group_add_window (ephy_gui_ensure_window_group (GTK_WINDOW (dialog->priv->parent)),
@@ -1354,6 +1370,7 @@ ephy_dialog_run (EphyDialog *dialog)
  *
  * Gets the internal widget corresponding to @property_id from @dialog.
  * Return value: (transfer none): the #GtkWidget corresponding to @property_id
+ * or %NULL
  **/
 GtkWidget *
 ephy_dialog_get_control (EphyDialog *dialog,
@@ -1361,6 +1378,8 @@ ephy_dialog_get_control (EphyDialog *dialog,
 {
 	PropertyInfo *info;
 
+	g_return_val_if_fail (EPHY_IS_DIALOG (dialog), NULL);
+
 	info = lookup_info (dialog, property_id);
 	g_return_val_if_fail (info != NULL, NULL);
 
@@ -1421,6 +1440,8 @@ ephy_dialog_get_value (EphyDialog *dialog,
 {
 	PropertyInfo *info;
 
+	g_return_val_if_fail (EPHY_IS_DIALOG (dialog), FALSE);
+
 	info = lookup_info (dialog, property_id);
 	g_return_val_if_fail (info != NULL, FALSE);
 
@@ -1442,6 +1463,8 @@ ephy_dialog_set_value (EphyDialog *dialog,
 {
 	PropertyInfo *info;
 
+	g_return_if_fail (EPHY_IS_DIALOG (dialog));
+
 	info = lookup_info (dialog, property_id);
 	g_return_if_fail (info != NULL);
 
@@ -1528,6 +1551,8 @@ void
 ephy_dialog_set_parent (EphyDialog *dialog,
 			GtkWidget *parent)
 {
+	g_return_if_fail (EPHY_IS_DIALOG (dialog));
+
 	dialog->priv->parent = parent;
 
 	g_object_notify (G_OBJECT (dialog), "parent-window");



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]