gtk: Make widget only invalidate widget positions

Instead of resetting them completely
This commit is contained in:
Benjamin Otte
2012-03-21 09:37:09 +01:00
parent e7a984b337
commit ece9d2fd92
7 changed files with 34 additions and 21 deletions

View File

@ -35,6 +35,7 @@
#include "gtksettings.h"
#include "gtktogglebutton.h"
#include "gtkwidgetpath.h"
#include "gtkwidgetprivate.h"
enum {
@ -494,15 +495,18 @@ child_ordering_changed (GtkPathBar *path_bar)
GList *l;
if (path_bar->up_slider_button)
gtk_widget_reset_style (path_bar->up_slider_button);
_gtk_widget_invalidate_style_context (path_bar->up_slider_button,
GTK_CSS_CHANGE_POSITION | GTK_CSS_CHANGE_SIBLING_POSITION);
if (path_bar->down_slider_button)
gtk_widget_reset_style (path_bar->down_slider_button);
_gtk_widget_invalidate_style_context (path_bar->down_slider_button,
GTK_CSS_CHANGE_POSITION | GTK_CSS_CHANGE_SIBLING_POSITION);
for (l = path_bar->button_list; l; l = l->next)
{
ButtonData *data = l->data;
gtk_widget_reset_style (data->button);
_gtk_widget_invalidate_style_context (data->button,
GTK_CSS_CHANGE_POSITION | GTK_CSS_CHANGE_SIBLING_POSITION);
}
}