diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-07-24 22:57:34 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-07-25 11:57:37 -0400 |
commit | 2ff3e3d1e4319bda2d0847a06bf0ec2a27c7e4ae (patch) | |
tree | 3e7ef9b85833dc0b1bee9409a784d56d1a7ff965 | |
parent | 73f4f518b88fa9145fc9ef71629d375aa1e702f0 (diff) | |
download | gtk+-2ff3e3d1e4319bda2d0847a06bf0ec2a27c7e4ae.tar.gz |
gtk: Improve struct packing in places
Plug some holes in our structs by rearranging
a few fields. This is was done looking at
pahole output.
-rw-r--r-- | gtk/gskpango.h | 4 | ||||
-rw-r--r-- | gtk/gtkadjustment.c | 2 | ||||
-rw-r--r-- | gtk/gtkapplicationwindow.c | 3 | ||||
-rw-r--r-- | gtk/gtkcolumnview.c | 12 | ||||
-rw-r--r-- | gtk/gtkcsstransition.c | 2 | ||||
-rw-r--r-- | gtk/gtkeventcontrollerkey.c | 4 | ||||
-rw-r--r-- | gtk/gtkfontbutton.c | 6 | ||||
-rw-r--r-- | gtk/gtkgridview.c | 2 | ||||
-rw-r--r-- | gtk/gtkprogresstrackerprivate.h | 2 | ||||
-rw-r--r-- | gtk/gtkrange.c | 4 | ||||
-rw-r--r-- | gtk/gtkscale.c | 8 | ||||
-rw-r--r-- | gtk/gtkswitch.c | 3 | ||||
-rw-r--r-- | gtk/gtktextlayoutprivate.h | 4 | ||||
-rw-r--r-- | gtk/gtktexttagprivate.h | 8 | ||||
-rw-r--r-- | gtk/gtkwidgetpaintable.c | 3 | ||||
-rw-r--r-- | gtk/gtkwidgetprivate.h | 14 |
16 files changed, 42 insertions, 39 deletions
diff --git a/gtk/gskpango.h b/gtk/gskpango.h index bbd3699f43..ab0933933c 100644 --- a/gtk/gskpango.h +++ b/gtk/gskpango.h @@ -65,10 +65,10 @@ struct _GskPangoRenderer GdkRGBA *error_color; GskPangoRendererState state; - GskPangoShapeHandler shape_handler; - /* house-keeping options */ guint is_cached_renderer : 1; + + GskPangoShapeHandler shape_handler; }; struct _GskPangoRendererClass diff --git a/gtk/gtkadjustment.c b/gtk/gtkadjustment.c index d4bf1ca8a1..1e6af5a599 100644 --- a/gtk/gtkadjustment.c +++ b/gtk/gtkadjustment.c @@ -57,9 +57,9 @@ struct _GtkAdjustmentPrivate { double target; guint duration; + guint tick_id; gint64 start_time; gint64 end_time; - guint tick_id; GdkFrameClock *clock; }; typedef struct _GtkAdjustmentPrivate GtkAdjustmentPrivate; diff --git a/gtk/gtkapplicationwindow.c b/gtk/gtkapplicationwindow.c index eff8257e62..54e393edd3 100644 --- a/gtk/gtkapplicationwindow.c +++ b/gtk/gtkapplicationwindow.c @@ -190,10 +190,9 @@ struct _GtkApplicationWindowPrivate GtkWidget *menubar; gboolean show_menubar; + guint id; GMenu *menubar_section; - guint id; - GtkShortcutsWindow *help_overlay; }; diff --git a/gtk/gtkcolumnview.c b/gtk/gtkcolumnview.c index b7a5b1bbe1..6ad2580c25 100644 --- a/gtk/gtkcolumnview.c +++ b/gtk/gtkcolumnview.c @@ -118,21 +118,21 @@ struct _GtkColumnView GtkAdjustment *hadjustment; - gboolean reorderable; - gboolean show_column_separators; + guint reorderable : 1; + guint show_column_separators : 1; + guint in_column_resize : 1; + guint in_column_reorder : 1; - gboolean in_column_resize; - gboolean in_column_reorder; int drag_pos; int drag_x; int drag_offset; int drag_column_x; - GtkGesture *drag_gesture; - guint autoscroll_id; double autoscroll_x; double autoscroll_delta; + + GtkGesture *drag_gesture; }; struct _GtkColumnViewClass diff --git a/gtk/gtkcsstransition.c b/gtk/gtkcsstransition.c index fee6d66d71..98ef4b2f6a 100644 --- a/gtk/gtkcsstransition.c +++ b/gtk/gtkcsstransition.c @@ -29,10 +29,10 @@ struct _GtkCssTransition GtkStyleAnimation parent; guint property; + guint finished; GtkCssValue *start; GtkCssValue *ease; GtkProgressTracker tracker; - guint finished; }; diff --git a/gtk/gtkeventcontrollerkey.c b/gtk/gtkeventcontrollerkey.c index ae7c11a8b0..e813654be8 100644 --- a/gtk/gtkeventcontrollerkey.c +++ b/gtk/gtkeventcontrollerkey.c @@ -49,9 +49,9 @@ struct _GtkEventControllerKey GdkModifierType state; - GdkEvent *current_event; - gboolean is_focus; + + GdkEvent *current_event; }; struct _GtkEventControllerKeyClass diff --git a/gtk/gtkfontbutton.c b/gtk/gtkfontbutton.c index f7002bef7c..0dcb9723d0 100644 --- a/gtk/gtkfontbutton.c +++ b/gtk/gtkfontbutton.c @@ -76,17 +76,19 @@ struct _GtkFontButton guint show_preview_entry : 1; guint modal : 1; + GtkFontChooserLevel level; + GtkWidget *button; GtkWidget *font_dialog; GtkWidget *font_label; GtkWidget *size_label; GtkWidget *font_size_box; + int font_size; PangoFontDescription *font_desc; PangoFontFamily *font_family; PangoFontFace *font_face; PangoFontMap *font_map; - int font_size; char *font_features; PangoLanguage *language; char *preview_text; @@ -94,8 +96,6 @@ struct _GtkFontButton gpointer font_filter_data; GDestroyNotify font_filter_data_destroy; GtkCssProvider *provider; - - GtkFontChooserLevel level; }; struct _GtkFontButtonClass diff --git a/gtk/gtkgridview.c b/gtk/gtkgridview.c index 7138a71aab..1d243134a4 100644 --- a/gtk/gtkgridview.c +++ b/gtk/gtkgridview.c @@ -91,8 +91,8 @@ struct _GtkGridView guint max_columns; /* set in size_allocate */ guint n_columns; - double column_width; int unknown_row_height; + double column_width; }; struct _GtkGridViewClass diff --git a/gtk/gtkprogresstrackerprivate.h b/gtk/gtkprogresstrackerprivate.h index 95adfe5f4d..fb635cccf9 100644 --- a/gtk/gtkprogresstrackerprivate.h +++ b/gtk/gtkprogresstrackerprivate.h @@ -35,11 +35,11 @@ typedef struct _GtkProgressTracker GtkProgressTracker; struct _GtkProgressTracker { - gboolean is_running; guint64 last_frame_time; guint64 duration; double iteration; double iteration_count; + gboolean is_running; }; void gtk_progress_tracker_init_copy (GtkProgressTracker *source, diff --git a/gtk/gtkrange.c b/gtk/gtkrange.c index cc963ed2bc..454240cfff 100644 --- a/gtk/gtkrange.c +++ b/gtk/gtkrange.c @@ -87,7 +87,7 @@ struct _GtkRangePrivate GtkWidget *highlight_widget; GtkWidget *slider_widget; - GtkOrientation orientation; + GtkGesture *drag_gesture; double fill_level; double *marks; @@ -113,7 +113,7 @@ struct _GtkRangePrivate /* Whether dragging is ongoing */ guint in_drag : 1; - GtkGesture *drag_gesture; + GtkOrientation orientation; GtkScrollType autoscroll_mode; guint autoscroll_id; diff --git a/gtk/gtkscale.c b/gtk/gtkscale.c index 5e649eeaa2..3c8056e635 100644 --- a/gtk/gtkscale.c +++ b/gtk/gtkscale.c @@ -149,23 +149,23 @@ struct _GtkScalePrivate int digits; + guint draw_value : 1; + guint value_pos : 2; + GtkScaleFormatValueFunc format_value_func; gpointer format_value_func_user_data; GDestroyNotify format_value_func_destroy_notify; - - guint draw_value : 1; - guint value_pos : 2; }; struct _GtkScaleMark { double value; int stop_position; + GtkPositionType position; /* always GTK_POS_TOP or GTK_POS_BOTTOM */ char *markup; GtkWidget *label_widget; GtkWidget *indicator_widget; GtkWidget *widget; - GtkPositionType position; /* always GTK_POS_TOP or GTK_POS_BOTTOM */ }; enum { diff --git a/gtk/gtkswitch.c b/gtk/gtkswitch.c index 1c3bdd27c3..040519506e 100644 --- a/gtk/gtkswitch.c +++ b/gtk/gtkswitch.c @@ -90,11 +90,12 @@ struct _GtkSwitch double handle_pos; guint tick_id; - GtkProgressTracker tracker; guint state : 1; guint is_active : 1; + GtkProgressTracker tracker; + GtkWidget *on_image; GtkWidget *off_image; GtkWidget *slider; diff --git a/gtk/gtktextlayoutprivate.h b/gtk/gtktextlayoutprivate.h index 2ffab44fdd..2d563ae6ae 100644 --- a/gtk/gtktextlayoutprivate.h +++ b/gtk/gtktextlayoutprivate.h @@ -154,14 +154,14 @@ struct _GtkTextLayout */ guint keyboard_direction : 2; + guint overwrite_mode : 1; + /* The preedit string and attributes, if any */ char *preedit_string; PangoAttrList *preedit_attrs; int preedit_len; int preedit_cursor; - - guint overwrite_mode : 1; }; struct _GtkTextLayoutClass diff --git a/gtk/gtktexttagprivate.h b/gtk/gtktexttagprivate.h index 4fe63d4249..28e4e1cce7 100644 --- a/gtk/gtktexttagprivate.h +++ b/gtk/gtktexttagprivate.h @@ -39,10 +39,6 @@ struct _GtkTextTagPrivate * a pointer to the key from the entry in * tkxt->tagTable, so it needn't be freed * explicitly. */ - int priority; /* Priority of this tag within widget. 0 - * means lowest priority. Exactly one tag - * has each integer value between 0 and - * numTags-1. */ /* * Information for displaying text with this tag. The information * belows acts as an override on information specified by lower-priority @@ -53,6 +49,10 @@ struct _GtkTextTagPrivate GtkTextAttributes *values; + int priority; /* Priority of this tag within widget. 0 + * means lowest priority. Exactly one tag + * has each integer value between 0 and + * numTags-1. */ /* Flags for whether a given value is set; if a value is unset, then * this tag does not affect it. */ diff --git a/gtk/gtkwidgetpaintable.c b/gtk/gtkwidgetpaintable.c index 6b60c7ad28..a2d6a0cc22 100644 --- a/gtk/gtkwidgetpaintable.c +++ b/gtk/gtkwidgetpaintable.c @@ -60,9 +60,10 @@ struct _GtkWidgetPaintable GtkWidget *widget; guint snapshot_count; + guint pending_update_cb; /* the idle source that updates the valid image to be the new current image */ + GdkPaintable *current_image; /* the image that we are presenting */ GdkPaintable *pending_image; /* the image that we should be presenting */ - guint pending_update_cb; /* the idle source that updates the valid image to be the new current image */ }; struct _GtkWidgetPaintableClass diff --git a/gtk/gtkwidgetprivate.h b/gtk/gtkwidgetprivate.h index 99a19afd98..01090956ad 100644 --- a/gtk/gtkwidgetprivate.h +++ b/gtk/gtkwidgetprivate.h @@ -51,10 +51,10 @@ typedef struct _GtkWidgetSurfaceTransformData GtkWidget *tracked_parent; guint parent_surface_transform_changed_id; - GList *callbacks; - gboolean cached_surface_transform_valid; + graphene_matrix_t cached_surface_transform; + GList *callbacks; } GtkWidgetSurfaceTransformData; struct _GtkWidgetPrivate @@ -105,8 +105,9 @@ struct _GtkWidgetPrivate guint halign : 4; guint valign : 4; + guint user_alpha : 8; + GtkOverflow overflow; - guint8 user_alpha; #ifdef G_ENABLE_CONSISTENCY_CHECKS /* Number of gtk_widget_push_verify_invariants () */ @@ -115,13 +116,14 @@ struct _GtkWidgetPrivate int width_request; int height_request; - void (* resize_func) (GtkWidget *); - GtkBorder margin; /* Animations and other things to update on clock ticks */ guint clock_tick_id; GList *tick_callbacks; + void (* resize_func) (GtkWidget *); + GtkBorder margin; + /* Surface relative transform updates callbacks */ GtkWidgetSurfaceTransformData *surface_transform_data; @@ -152,10 +154,10 @@ struct _GtkWidgetPrivate int allocated_height; int allocated_size_baseline; - GskTransform *transform; int width; int height; int baseline; + GskTransform *transform; /* The widget's requested sizes */ SizeRequestCache requests; |