aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/ChangeLog30
-rw-r--r--addressbook/gui/contact-editor/e-contact-editor.c16
-rw-r--r--addressbook/gui/contact-editor/e-contact-quick-add.c1
-rw-r--r--addressbook/gui/contact-list-editor/e-contact-list-editor.c13
-rw-r--r--addressbook/gui/contact-list-editor/e-contact-list-model.c6
-rw-r--r--addressbook/gui/widgets/e-minicard-label.c4
-rw-r--r--addressbook/gui/widgets/e-minicard.c10
7 files changed, 61 insertions, 19 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index b37619f9b0..5fc474210c 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,5 +1,35 @@
2002-11-26 Chris Toshok <toshok@ximian.com>
+ * gui/contact-editor/e-contact-quick-add.c: add include for
+ gtkstock.h.
+
+ * gui/contact-list-editor/e-contact-list-model.c
+ (e_contact_list_model_add_destination): add pre_change call.
+ (e_contact_list_model_remove_row): same.
+ (e_contact_list_model_remove_all): same.
+
+ * gui/contact-list-editor/e-contact-list-editor.c
+ (e_contact_list_editor_new): ref/sink the contact list editor so
+ we don't get the floating unref warning from gtk.
+
+ * gui/contact-editor/e-contact-editor.c (e_contact_editor_new):
+ ref/sink the contact editor so we don't get the floating unref
+ warning from gtk.
+ (e_contact_editor_init): use g_build_filename instead of
+ g_concat_dir_and_file.
+
+ * gui/widgets/e-minicard-label.c
+ (e_minicard_label_resize_children): use MAX (value, 0) to make
+ sure we aren't passing negative values for clip-widths.
+
+ * gui/widgets/e-minicard.c (e_minicard_realize): use MAX (value,
+ 0) to make sure we aren't passing negative values for widths.
+
+ * gui/contact-editor/e-contact-editor.c (e_contact_editor_init):
+ use g_build_filename.
+
+2002-11-26 Chris Toshok <toshok@ximian.com>
+
[ roll forward from 1.2 branch ]
* backend/pas/pas-backend-file.c
(pas_backend_file_process_get_vcard): never pass NULL as the vcard
diff --git a/addressbook/gui/contact-editor/e-contact-editor.c b/addressbook/gui/contact-editor/e-contact-editor.c
index ef45fbe426..791058cdf6 100644
--- a/addressbook/gui/contact-editor/e-contact-editor.c
+++ b/addressbook/gui/contact-editor/e-contact-editor.c
@@ -230,7 +230,6 @@ e_contact_editor_class_init (EContactEditorClass *klass)
NULL, NULL,
ece_marshal_NONE__NONE,
G_TYPE_NONE, 0);
-
}
static void
@@ -1465,7 +1464,7 @@ e_contact_editor_init (EContactEditor *e_contact_editor)
GTK_SIGNAL_FUNC (app_delete_event_cb), e_contact_editor);
/* set the icon */
- icon_path = g_concat_dir_and_file (EVOLUTION_ICONSDIR, "evolution-contacts-mini.png");
+ icon_path = g_build_filename (EVOLUTION_ICONSDIR, "evolution-contacts-mini.png", NULL);
gnome_window_icon_set_from_file (GTK_WINDOW (e_contact_editor->app), icon_path);
g_free (icon_path);
}
@@ -1611,12 +1610,15 @@ e_contact_editor_new (EBook *book,
all_contact_editors = g_slist_prepend (all_contact_editors, ce);
g_object_weak_ref (G_OBJECT (ce), contact_editor_destroy_notify, ce);
+ gtk_object_ref (GTK_OBJECT (ce));
+ gtk_object_sink (GTK_OBJECT (ce));
+
g_object_set (ce,
- "book", book,
- "card", card,
- "is_new_card", is_new_card,
- "editable", editable,
- NULL);
+ "book", book,
+ "card", card,
+ "is_new_card", is_new_card,
+ "editable", editable,
+ NULL);
if (book)
e_book_get_supported_fields (book, (EBookFieldsCallback)supported_fields_cb, ce);
diff --git a/addressbook/gui/contact-editor/e-contact-quick-add.c b/addressbook/gui/contact-editor/e-contact-quick-add.c
index 715ab2bee1..e06390b2a5 100644
--- a/addressbook/gui/contact-editor/e-contact-quick-add.c
+++ b/addressbook/gui/contact-editor/e-contact-quick-add.c
@@ -31,6 +31,7 @@
#include <gtk/gtklabel.h>
#include <gtk/gtktable.h>
#include <gtk/gtkdialog.h>
+#include <gtk/gtkstock.h>
#include <libgnome/gnome-i18n.h>
#include <libgnomeui/gnome-app.h>
#include <gal/widgets/e-unicode.h>
diff --git a/addressbook/gui/contact-list-editor/e-contact-list-editor.c b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
index 0fec8f00ee..b9d0726136 100644
--- a/addressbook/gui/contact-list-editor/e-contact-list-editor.c
+++ b/addressbook/gui/contact-list-editor/e-contact-list-editor.c
@@ -586,12 +586,15 @@ e_contact_list_editor_new (EBook *book,
all_contact_list_editors = g_slist_prepend (all_contact_list_editors, ce);
g_object_weak_ref (G_OBJECT (ce), contact_list_editor_destroy_notify, ce);
+ gtk_object_ref (GTK_OBJECT (ce));
+ gtk_object_sink (GTK_OBJECT (ce));
+
g_object_set (ce,
- "book", book,
- "card", list_card,
- "is_new_list", is_new_list,
- "editable", editable,
- NULL);
+ "book", book,
+ "card", list_card,
+ "is_new_list", is_new_list,
+ "editable", editable,
+ NULL);
return ce;
}
diff --git a/addressbook/gui/contact-list-editor/e-contact-list-model.c b/addressbook/gui/contact-list-editor/e-contact-list-model.c
index 91e2965d88..3e4264fa85 100644
--- a/addressbook/gui/contact-list-editor/e-contact-list-model.c
+++ b/addressbook/gui/contact-list-editor/e-contact-list-model.c
@@ -171,6 +171,8 @@ e_contact_list_model_add_destination (EContactListModel *model, EDestination *de
g_return_if_fail (E_IS_CONTACT_LIST_MODEL (model));
g_return_if_fail (E_IS_DESTINATION (dest));
+ e_table_model_pre_change (E_TABLE_MODEL (model));
+
if (model->data_count + 1 >= model->data_alloc) {
model->data_alloc *= 2;
model->data = g_renew (EDestination*, model->data, model->data_alloc);
@@ -218,6 +220,8 @@ e_contact_list_model_remove_row (EContactListModel *model, int row)
g_return_if_fail (E_IS_CONTACT_LIST_MODEL (model));
g_return_if_fail (0 <= row && row < model->data_count);
+ e_table_model_pre_change (E_TABLE_MODEL (model));
+
g_object_unref (model->data[row]);
memmove (model->data + row, model->data + row + 1, sizeof (EDestination*) * (model->data_count - row - 1));
model->data_count --;
@@ -232,6 +236,8 @@ e_contact_list_model_remove_all (EContactListModel *model)
g_return_if_fail (E_IS_CONTACT_LIST_MODEL (model));
+ e_table_model_pre_change (E_TABLE_MODEL (model));
+
for (i = 0; i < model->data_count; i ++) {
g_object_unref (model->data[i]);
model->data[i] = NULL;
diff --git a/addressbook/gui/widgets/e-minicard-label.c b/addressbook/gui/widgets/e-minicard-label.c
index 7fef48a63b..241293bfe9 100644
--- a/addressbook/gui/widgets/e-minicard-label.c
+++ b/addressbook/gui/widgets/e-minicard-label.c
@@ -451,10 +451,10 @@ e_minicard_label_resize_children(EMinicardLabel *e_minicard_label)
left_width = e_minicard_label->width / 2 - 4;
gnome_canvas_item_set( e_minicard_label->fieldname,
- "clip_width", (double) ( left_width ),
+ "clip_width", (double) MAX ( left_width, 0 ),
NULL );
gnome_canvas_item_set( e_minicard_label->field,
- "clip_width", (double) ( e_minicard_label->width - 8 - left_width ),
+ "clip_width", (double) MAX ( e_minicard_label->width - 8 - left_width, 0 ),
NULL );
}
diff --git a/addressbook/gui/widgets/e-minicard.c b/addressbook/gui/widgets/e-minicard.c
index 7f21f88f31..4cd5bd67f9 100644
--- a/addressbook/gui/widgets/e-minicard.c
+++ b/addressbook/gui/widgets/e-minicard.c
@@ -446,8 +446,8 @@ e_minicard_realize (GnomeCanvasItem *item)
gnome_canvas_rect_get_type(),
"x1", (double) 0,
"y1", (double) 0,
- "x2", (double) e_minicard->width - 1,
- "y2", (double) e_minicard->height - 1,
+ "x2", (double) MAX (e_minicard->width - 1, 0),
+ "y2", (double) MAX (e_minicard->height - 1, 0),
"outline_color", NULL,
NULL );
@@ -456,8 +456,8 @@ e_minicard_realize (GnomeCanvasItem *item)
gnome_canvas_rect_get_type(),
"x1", (double) 2,
"y1", (double) 2,
- "x2", (double) e_minicard->width - 3,
- "y2", (double) e_minicard->height - 3,
+ "x2", (double) MAX (e_minicard->width - 3, 0),
+ "y2", (double) MAX (e_minicard->height - 3, 0),
"fill_color_gdk", &canvas->style->bg[GTK_STATE_NORMAL],
NULL );
@@ -465,7 +465,7 @@ e_minicard_realize (GnomeCanvasItem *item)
gnome_canvas_item_new( group,
e_text_get_type(),
"anchor", GTK_ANCHOR_NW,
- "width", (double) ( e_minicard->width - 12 ),
+ "width", (double) MAX( e_minicard->width - 12, 0 ),
"clip", TRUE,
"use_ellipsis", TRUE,
#if 0