Bug 602416 - Changing shell views emits many runtime warnings
This commit is contained in:
@ -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;
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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), >K_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;
|
||||
|
||||
@ -106,6 +106,7 @@ typedef struct {
|
||||
|
||||
gint rebuild_idle_id;
|
||||
guint need_rebuild:1;
|
||||
guint size_allocated:1;
|
||||
|
||||
/*
|
||||
* Configuration settings
|
||||
|
||||
Reference in New Issue
Block a user