[gtk] snapshot: Get new GArray item directly
- From: Timm Bäder <baedert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk] snapshot: Get new GArray item directly
- Date: Fri, 11 Jan 2019 17:31:42 +0000 (UTC)
commit f4f0f0e6a0488146518266e20d07eb37aeb9b558
Author: Timm Bäder <tbaeder redhat com>
Date: Fri Jan 11 10:05:44 2019 +0100
snapshot: Get new GArray item directly
Instead of building it up ourselves, then coping it into the GArray and
then getting the last element of that array.
gtk/gtksnapshot.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
---
diff --git a/gtk/gtksnapshot.c b/gtk/gtksnapshot.c
index 81e7419207..3bc18cd4e8 100644
--- a/gtk/gtksnapshot.c
+++ b/gtk/gtksnapshot.c
@@ -112,17 +112,19 @@ gtk_snapshot_push_state (GtkSnapshot *snapshot,
int translate_y,
GtkSnapshotCollectFunc collect_func)
{
- GtkSnapshotState state = { 0, };
+ const gsize n_states = snapshot->state_stack->len;
+ GtkSnapshotState *state;
- state.translate_x = translate_x;
- state.translate_y = translate_y;
- state.collect_func = collect_func;
- state.start_node_index = snapshot->nodes->len;
- state.n_nodes = 0;
+ g_array_set_size (snapshot->state_stack, n_states + 1);
+ state = &g_array_index (snapshot->state_stack, GtkSnapshotState, n_states);
- g_array_append_val (snapshot->state_stack, state);
+ state->translate_x = translate_x;
+ state->translate_y = translate_y;
+ state->collect_func = collect_func;
+ state->start_node_index = snapshot->nodes->len;
+ state->n_nodes = 0;
- return &g_array_index (snapshot->state_stack, GtkSnapshotState, snapshot->state_stack->len - 1);
+ return state;
}
static GtkSnapshotState *
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]