[gtk+] demos: Fix performance in GtkToolPalette demo.



commit 3b0f71f5ce1ff65be554169a54d77b181d267d85
Author: Murray Cumming <murrayc murrayc com>
Date:   Mon Sep 16 14:10:52 2013 +0200

    demos: Fix performance in GtkToolPalette demo.
    
    gtk_icon_theme_list_icons() now gets so many icons that the demo
    was unusable. Limit it to 10 per group (theme context).

 demos/gtk-demo/toolpalette.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
---
diff --git a/demos/gtk-demo/toolpalette.c b/demos/gtk-demo/toolpalette.c
index dd011ed..37e896b 100644
--- a/demos/gtk-demo/toolpalette.c
+++ b/demos/gtk-demo/toolpalette.c
@@ -649,6 +649,8 @@ load_icon_items (GtkToolPalette *palette)
       gchar *context = l->data;
       GList *icon_names;
       GList *ll;
+      const guint max_icons = 10;
+      guint icons_count = 0;
 
       GtkWidget *group = gtk_tool_item_group_new (context);
       gtk_container_add (GTK_CONTAINER (palette), group);
@@ -668,6 +670,11 @@ load_icon_items (GtkToolPalette *palette)
           gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (item), id);
           gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (item), id);
           gtk_tool_item_group_insert (GTK_TOOL_ITEM_GROUP (group), item, -1);
+
+          /* Prevent us having an insane number of icons: */
+          ++icons_count;
+          if(icons_count >= max_icons)
+            break;
         }
 
       g_list_free_full (icon_names, g_free);


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