Changeset 3219
- Timestamp:
- 12/30/07 23:40:28
- Files:
-
- trunk/ChangeLog (modified) (1 diff)
- trunk/libtinymailui-gtk/tny-gtk-header-list-model.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ChangeLog
r3215 r3219 3 3 * Performance enhancements 4 4 * Bugfix for the bodystructure parser and per-MIME-part fetching 5 * Experimental performance improvement in tny-gtk-header-list-model.c 5 6 6 7 2007-12-27 Philip Van Hoof <pvanhoof@gnome.org> trunk/libtinymailui-gtk/tny-gtk-header-list-model.c
r3161 r3219 543 543 g_mutex_unlock (priv->ra_lock); 544 544 545 if (priv->timeout_span < 5000)546 priv->timeout_span += 300;545 if (priv->timeout_span < 1000) 546 priv->timeout_span += 100; 547 547 priv->add_timeout = 0; 548 548 g_object_unref (data); 549 549 550 550 return; 551 } 552 553 typedef struct 554 { 555 gint depth; 556 gint *indices; 557 }GtkTreePathInternal; 558 559 static inline GtkTreePath * 560 gtk_tree_path_new_internal (gint index) 561 { 562 GtkTreePathInternal *retval = g_slice_new (GtkTreePathInternal); 563 retval->depth = 1; 564 retval->indices = g_slice_alloc (sizeof(gint)); 565 retval->indices[0] = index; 566 return (GtkTreePath *) retval; 567 } 568 569 static inline void 570 gtk_tree_path_free_internal (GtkTreePath *path_in) 571 { 572 GtkTreePathInternal *path = (GtkTreePathInternal *) path_in; 573 g_slice_free1 (sizeof(gint), path->indices); 574 g_slice_free (GtkTreePathInternal, path); 551 575 } 552 576 … … 570 594 already_registered = priv->registered; 571 595 572 if (priv->items->len - already_registered > 1000)596 if (priv->items->len - already_registered > 3000) 573 597 { 574 going_tb_registered = already_registered + 1000;598 going_tb_registered = already_registered + 3000; 575 599 needmore = TRUE; 576 600 } else … … 590 614 iter.stamp = priv->stamp; 591 615 iter.user_data = (gpointer) i; 592 path = gtk_tree_path_new (); 593 gtk_tree_path_append_index (path, i); 594 if (G_LIKELY (path)) 595 { 596 priv->cur_len = i+1; 597 gtk_tree_model_row_inserted ((GtkTreeModel *) data, path, &iter); 598 gtk_tree_path_free (path); 599 } 616 path = gtk_tree_path_new_internal (i); 617 // gtk_tree_path_append_index (path, i); 618 priv->cur_len = i+1; 619 gtk_tree_model_row_inserted ((GtkTreeModel *) data, path, &iter); 620 gtk_tree_path_free_internal (path); 600 621 } 601 622 gdk_threads_leave();
