#include "gtkprivate.h"
#include "gtkintl.h"
#include "gtktypebuiltins.h"
+#include "a11y/gtktreeviewaccessible.h"
/**
GtkTreeViewColumn *tree_column = (GtkTreeViewColumn *) object;
GtkTreeViewColumnPrivate *priv = tree_column->priv;
+ /* Remove this column from its treeview,
+ * in case this column is destroyed before its treeview.
+ */
+ if (priv->tree_view)
+ gtk_tree_view_remove_column (GTK_TREE_VIEW (priv->tree_view), tree_column);
+
if (priv->cell_area_context)
{
g_signal_handler_disconnect (priv->cell_area_context,
((GdkEventButton *)event)->button == 1)
{
priv->maybe_reordered = TRUE;
- gdk_window_get_pointer (gtk_button_get_event_window (GTK_BUTTON (widget)),
- &priv->drag_x,
- &priv->drag_y,
- NULL);
+ gdk_window_get_device_position (gtk_button_get_event_window (GTK_BUTTON (widget)),
+ gdk_event_get_device (event),
+ &priv->drag_x,
+ &priv->drag_y,
+ NULL);
gtk_widget_grab_focus (widget);
}
_gtk_tree_view_column_cell_set_dirty (tree_column, TRUE);
if (priv->tree_view)
- _gtk_tree_view_reset_header_styles (GTK_TREE_VIEW (priv->tree_view));
+ {
+ _gtk_tree_view_reset_header_styles (GTK_TREE_VIEW (priv->tree_view));
+ _gtk_tree_view_accessible_toggle_visibility (GTK_TREE_VIEW (priv->tree_view),
+ tree_column);
+ }
gtk_tree_view_column_update_button (tree_column);
g_object_notify (G_OBJECT (tree_column), "visible");