Bug 602416 - Changing shell views emits many runtime warnings

This commit is contained in:
Matthew Barnes
2010-02-06 20:48:27 -05:00
parent 31e449ebed
commit 0cc56c014f
4 changed files with 22 additions and 8 deletions

View File

@ -267,8 +267,7 @@ e_calendar_style_set (GtkWidget *widget,
/* Set the background of the canvas window to the normal color,
or the arrow buttons are not displayed properly. */
parent = gtk_widget_get_parent (widget);
if (GTK_WIDGET_REALIZED (parent)) {
if (GTK_WIDGET_REALIZED (widget)) {
GtkStyle *style;
GdkWindow *window;

View File

@ -570,6 +570,10 @@ etcta_init (ETableClickToAdd *etcta)
etcta->text = NULL;
etcta->rect = NULL;
/* Pick some arbitrary defaults. */
etcta->width = 12;
etcta->height = 6;
etcta->selection = e_table_selection_model_new();
g_signal_connect(etcta->selection, "cursor_changed",
G_CALLBACK (etcta_cursor_change), etcta);

View File

@ -734,6 +734,8 @@ table_canvas_size_allocate (GtkWidget *widget, GtkAllocation *alloc,
if (e_table->reflow_idle_id)
g_source_remove(e_table->reflow_idle_id);
table_canvas_reflow_idle(e_table);
e_table->size_allocated = TRUE;
}
static void
@ -992,16 +994,24 @@ changed_idle (gpointer data)
{
ETable *et = E_TABLE (data);
if (et->need_rebuild) {
/* Wait until we have a valid size allocation. */
if (et->need_rebuild && et->size_allocated) {
GtkWidget *widget;
GtkAllocation allocation;
if (et->group)
gtk_object_destroy (GTK_OBJECT (et->group));
et_build_groups(et);
g_object_set (et->canvas_vbox,
"width", (gdouble) GTK_WIDGET (et->table_canvas)->allocation.width,
NULL);
if (GTK_WIDGET_REALIZED(et->table_canvas))
table_canvas_size_allocate (GTK_WIDGET(et->table_canvas), &GTK_WIDGET(et->table_canvas)->allocation, et);
widget = GTK_WIDGET (et->table_canvas);
gtk_widget_get_allocation (widget, &allocation);
g_object_set (
et->canvas_vbox,
"width", (gdouble) allocation.width,
NULL);
table_canvas_size_allocate (widget, &allocation, et);
}
et->need_rebuild = 0;

View File

@ -106,6 +106,7 @@ typedef struct {
gint rebuild_idle_id;
guint need_rebuild:1;
guint size_allocated:1;
/*
* Configuration settings