* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
/*
#include "gtkbuildable.h"
#include "gtkbuilderprivate.h"
#include "gtktypebuiltins.h"
+#include "deprecated/gtkstyle.h"
/**
return g_hash_table_lookup (priv->icons, stock_id);
}
-static GtkIconFactory *gtk_default_icons = NULL;
static GSList *default_factories = NULL;
/**
g_object_unref (factory);
}
-void
-_gtk_icon_factory_ensure_default_icons (void)
+static GtkIconFactory *
+_gtk_icon_factory_get_default_icons (void)
{
- if (gtk_default_icons == NULL)
- {
- gtk_default_icons = gtk_icon_factory_new ();
+ static GtkIconFactory *default_icons = NULL;
+ GtkIconFactory *icons = NULL;
+ GdkScreen *screen = gdk_screen_get_default ();
- get_default_icons (gtk_default_icons);
+ if (screen)
+ icons = g_object_get_data (G_OBJECT (screen), "gtk-default-icons");
+
+ if (icons == NULL)
+ {
+ if (default_icons == NULL)
+ {
+ default_icons = gtk_icon_factory_new ();
+ get_default_icons (default_icons);
+ }
+ if (screen)
+ g_object_set_data_full (G_OBJECT (screen),
+ I_("gtk-default-icons"),
+ default_icons,
+ g_object_unref);
+ icons = default_icons;
}
+
+ return icons;
}
/**
gtk_icon_factory_lookup_default (const gchar *stock_id)
{
GSList *tmp_list;
+ GtkIconFactory *default_icons;
g_return_val_if_fail (stock_id != NULL, NULL);
tmp_list = g_slist_next (tmp_list);
}
- _gtk_icon_factory_ensure_default_icons ();
-
- return gtk_icon_factory_lookup (gtk_default_icons, stock_id);
+ default_icons = _gtk_icon_factory_get_default_icons ();
+ if (default_icons)
+ return gtk_icon_factory_lookup (default_icons, stock_id);
+ else
+ return NULL;
}
static void
/**
* gtk_icon_size_get_name:
* @size: (type int): a #GtkIconSize.
- * @returns: the name of the given icon size.
*
* Gets the canonical name of the given icon size. The returned string
* is statically allocated and should not be freed.
+ *
+ * Returns: the name of the given icon size.
*/
-G_CONST_RETURN gchar*
+const gchar*
gtk_icon_size_get_name (GtkIconSize size)
{
if (size >= icon_sizes_used)
/* Remove this icon source so we don't keep trying to
* load it.
*/
- g_warning (_("Error loading icon: %s"), error->message);
+ g_warning ("Error loading icon: %s", error->message);
g_error_free (error);
icon_set->sources = g_slist_remove (icon_set->sources, source);
if (info)
{
tmp_pixbuf = gtk_icon_info_load_icon (info, &error);
- gtk_icon_info_free (info);
+ g_object_unref (info);
}
else
tmp_pixbuf = NULL;
_gtk_icon_theme_ensure_builtin_cache ();
index = _gtk_icon_cache_get_directory_index (_builtin_cache, "24");
- pixbuf = _gtk_icon_cache_get_icon (_builtin_cache,
- GTK_STOCK_MISSING_IMAGE,
- index);
+ pixbuf = _gtk_icon_cache_get_icon (_builtin_cache, "image-missing", index);
+
+ g_return_val_if_fail(pixbuf != NULL, NULL);
+
gtk_icon_source_set_pixbuf (&fallback_source, pixbuf);
g_object_unref (pixbuf);
}
else
state = GTK_STATE_NORMAL;
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
direction = gtk_style_context_get_direction (context);
+G_GNUC_END_IGNORE_DEPRECATIONS;
if (icon_set->sources)
{
}
gtk_style_context_set_state (context, flags);
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
gtk_style_context_set_direction (context, direction);
+G_GNUC_END_IGNORE_DEPRECATIONS;
icon = gtk_icon_set_render_icon_pixbuf (icon_set, context, size);
}
/**
- * gtk_icon_source_set_icon_name
+ * gtk_icon_source_set_icon_name:
* @source: a #GtkIconSource
* @icon_name: (allow-none): name of icon to use
*
* Return value: (type filename): image filename. This string must not
* be modified or freed.
*/
-G_CONST_RETURN gchar*
+const gchar*
gtk_icon_source_get_filename (const GtkIconSource *source)
{
g_return_val_if_fail (source != NULL, NULL);
*
* Return value: icon name. This string must not be modified or freed.
*/
-G_CONST_RETURN gchar*
+const gchar*
gtk_icon_source_get_icon_name (const GtkIconSource *source)
{
g_return_val_if_fail (source != NULL, NULL);
ids = NULL;
- _gtk_icon_factory_ensure_default_icons ();
+ _gtk_icon_factory_get_default_icons ();
tmp_list = all_icon_factories;
while (tmp_list != NULL)