summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2021-05-01 00:24:00 +0300
committerMarco Trevisan <mail@3v1n0.net>2021-05-10 15:56:48 +0000
commit3456b747b6381f17d48629dd8fdd4d511e739b10 (patch)
tree068ef7e3f9c4c7fae1c661597d2eec150c40e5fe
parenta2a004a85725a96da8626d803c925b69e7cd2598 (diff)
downloadlibwnck-3456b747b6381f17d48629dd8fdd4d511e739b10.tar.gz
pager: do not change workspace size from size_allocate
It should be enough to have only minimum size like it was before a414519d7b45 commit. Widget should request minimum size it needs! Using allocated size is wrong as it means widgets will get only bigger. To reduce size container will need to underallocate widget and GTK will warn about that if consistency checks are enabled.
-rw-r--r--libwnck/pager.c59
1 files changed, 0 insertions, 59 deletions
diff --git a/libwnck/pager.c b/libwnck/pager.c
index a563a4d..c769d62 100644
--- a/libwnck/pager.c
+++ b/libwnck/pager.c
@@ -122,8 +122,6 @@ static void wnck_pager_get_preferred_height_for_width (GtkWidget *widget,
int width,
int *minimum_height,
int *natural_height);
-static void wnck_pager_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation);
static gboolean wnck_pager_draw (GtkWidget *widget,
cairo_t *cr);
static gboolean wnck_pager_button_press (GtkWidget *widget,
@@ -249,7 +247,6 @@ wnck_pager_class_init (WnckPagerClass *klass)
widget_class->get_preferred_width_for_height = wnck_pager_get_preferred_width_for_height;
widget_class->get_preferred_height = wnck_pager_get_preferred_height;
widget_class->get_preferred_height_for_width = wnck_pager_get_preferred_height_for_width;
- widget_class->size_allocate = wnck_pager_size_allocate;
widget_class->draw = wnck_pager_draw;
widget_class->button_press_event = wnck_pager_button_press;
widget_class->button_release_event = wnck_pager_button_release;
@@ -687,62 +684,6 @@ wnck_pager_get_preferred_height_for_width (GtkWidget *widget,
*natural_height = *minimum_height = MAX (height, 0);
}
-static gboolean
-_wnck_pager_queue_resize (gpointer data)
-{
- gtk_widget_queue_resize (GTK_WIDGET (data));
- return FALSE;
-}
-
-static void
-wnck_pager_size_allocate (GtkWidget *widget,
- GtkAllocation *allocation)
-{
- WnckPager *pager;
- int workspace_size;
- GtkBorder padding;
- int width;
- int height;
-
- pager = WNCK_PAGER (widget);
-
- width = allocation->width;
- height = allocation->height;
-
- _wnck_pager_get_padding (pager, &padding);
- width -= padding.left + padding.right;
- height -= padding.top + padding.bottom;
-
- g_assert (pager->priv->n_rows > 0);
-
- if (pager->priv->orientation == GTK_ORIENTATION_VERTICAL)
- {
- if (pager->priv->show_all_workspaces)
- workspace_size = (width - (pager->priv->n_rows - 1)) / pager->priv->n_rows;
- else
- workspace_size = width;
- }
- else
- {
- if (pager->priv->show_all_workspaces)
- workspace_size = (height - (pager->priv->n_rows - 1))/ pager->priv->n_rows;
- else
- workspace_size = height;
- }
-
- workspace_size = MAX (workspace_size, 1);
-
- if (workspace_size != pager->priv->workspace_size)
- {
- pager->priv->workspace_size = workspace_size;
- g_idle_add (_wnck_pager_queue_resize, pager);
- return;
- }
-
- GTK_WIDGET_CLASS (wnck_pager_parent_class)->size_allocate (widget,
- allocation);
-}
-
static void
get_workspace_rect (WnckPager *pager,
int space,