]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkiconview.c
derive GtkObject from GUnowned, so it initially has a floating reference
[~andy/gtk] / gtk / gtkiconview.c
index 02d76b4fdd0f0c13f23eef1a4e9848c780283970..0888d04011c8c29fda6f5e9e97c42818441fc808 100644 (file)
@@ -1968,6 +1968,7 @@ gtk_icon_view_button_press (GtkWidget      *widget,
        }
 
       icon_view->priv->last_single_clicked = NULL;
+      icon_view->priv->pressed_button = -1;
     }
   
   if (dirty)
@@ -2220,8 +2221,7 @@ gtk_icon_view_set_adjustments (GtkIconView   *icon_view,
   if (icon_view->priv->hadjustment != hadj)
     {
       icon_view->priv->hadjustment = hadj;
-      g_object_ref (icon_view->priv->hadjustment);
-      gtk_object_sink (GTK_OBJECT (icon_view->priv->hadjustment));
+      g_object_ref_sink (icon_view->priv->hadjustment);
 
       g_signal_connect (icon_view->priv->hadjustment, "value_changed",
                        G_CALLBACK (gtk_icon_view_adjustment_changed),
@@ -2232,8 +2232,7 @@ gtk_icon_view_set_adjustments (GtkIconView   *icon_view,
   if (icon_view->priv->vadjustment != vadj)
     {
       icon_view->priv->vadjustment = vadj;
-      g_object_ref (icon_view->priv->vadjustment);
-      gtk_object_sink (GTK_OBJECT (icon_view->priv->vadjustment));
+      g_object_ref_sink (icon_view->priv->vadjustment);
 
       g_signal_connect (icon_view->priv->vadjustment, "value_changed",
                        G_CALLBACK (gtk_icon_view_adjustment_changed),
@@ -2581,8 +2580,7 @@ adjust_wrap_width (GtkIconView     *icon_view,
   GtkIconViewCellInfo *pixbuf_info;
   gint pixbuf_width, wrap_width;
       
-  if (icon_view->priv->item_width < 0 &&
-      icon_view->priv->text_cell != -1 &&
+  if (icon_view->priv->text_cell != -1 &&
       icon_view->priv->pixbuf_cell != -1)
     {
       text_info = g_list_nth_data (icon_view->priv->cell_list,
@@ -4166,8 +4164,7 @@ gtk_icon_view_cell_layout_pack_start (GtkCellLayout   *layout,
   g_return_if_fail (GTK_IS_CELL_RENDERER (renderer));
   g_return_if_fail (!gtk_icon_view_get_cell_info (icon_view, renderer));
 
-  g_object_ref (renderer);
-  gtk_object_sink (GTK_OBJECT (renderer));
+  g_object_ref_sink (renderer);
 
   info = g_new0 (GtkIconViewCellInfo, 1);
   info->cell = renderer;
@@ -4190,8 +4187,7 @@ gtk_icon_view_cell_layout_pack_end (GtkCellLayout   *layout,
   g_return_if_fail (GTK_IS_CELL_RENDERER (renderer));
   g_return_if_fail (!gtk_icon_view_get_cell_info (icon_view, renderer));
 
-  g_object_ref (renderer);
-  gtk_object_sink (GTK_OBJECT (renderer));
+  g_object_ref_sink (renderer);
 
   info = g_new0 (GtkIconViewCellInfo, 1);
   info->cell = renderer;
@@ -4718,10 +4714,13 @@ update_text_cell (GtkIconView *icon_view)
     {
       if (icon_view->priv->text_cell != -1)
        {
+         if (icon_view->priv->pixbuf_cell > icon_view->priv->text_cell)
+           icon_view->priv->pixbuf_cell--;
+
          info = g_list_nth_data (icon_view->priv->cell_list, 
                                  icon_view->priv->text_cell);
          
-         g_list_remove (icon_view->priv->cell_list, info);
+         icon_view->priv->cell_list = g_list_remove (icon_view->priv->cell_list, info);
          
          free_cell_info (info);
          
@@ -4788,10 +4787,13 @@ update_pixbuf_cell (GtkIconView *icon_view)
     {
       if (icon_view->priv->pixbuf_cell != -1)
        {
+         if (icon_view->priv->text_cell > icon_view->priv->pixbuf_cell)
+           icon_view->priv->text_cell--;
+
          info = g_list_nth_data (icon_view->priv->cell_list, 
                                  icon_view->priv->pixbuf_cell);
          
-         g_list_remove (icon_view->priv->cell_list, info);
+         icon_view->priv->cell_list = g_list_remove (icon_view->priv->cell_list, info);
          
          free_cell_info (info);
          
@@ -6476,7 +6478,7 @@ gtk_icon_view_unset_model_drag_dest (GtkIconView *icon_view)
  * gtk_icon_view_set_drag_dest_item:
  * @icon_view: a #GtkIconView
  * @path: The path of the item to highlight, or %NULL.
- * @pos: Specifies whether to drop, relative to the item
+ * @pos: Specifies where to drop, relative to the item
  * 
  * Sets the item that is highlighted for feedback.
  *