diff options
author | Søren Sandmann Pedersen <ssp@redhat.com> | 2012-10-09 18:11:48 -0400 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@redhat.com> | 2012-10-09 18:11:48 -0400 |
commit | 5247a449cb90ee09759595bdcea89f57e38d542b (patch) | |
tree | 01c763c164c8ceb634a9d816db253a1313a60e68 | |
parent | 60277ff2731a71e4d2e366d28fa0080a626c719a (diff) |
more bug fixing
-rw-r--r-- | demo.c | 4 | ||||
-rw-r--r-- | region-iter.c | 39 |
2 files changed, 23 insertions, 20 deletions
@@ -128,13 +128,13 @@ on_allocate (GtkWidget *widget, GtkAllocation *allocation) int main (int argc, char **argv) { - GtkWindow *window; + GtkWidget *window; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_window_set_default_size (window, 1200, 768); + gtk_window_set_default_size (GTK_WINDOW (window), 1200, 768); g_signal_connect (window, "size_allocate", G_CALLBACK (on_allocate), NULL); g_signal_connect (window, "expose_event", G_CALLBACK (on_expose), NULL); diff --git a/region-iter.c b/region-iter.c index 062164d..0c58f1f 100644 --- a/region-iter.c +++ b/region-iter.c @@ -3,6 +3,7 @@ * * - builder * - move api from pixman-region.c + * - make it generate 'broken' regions when out of memory * - test suite * * - consider an iterator that will combine @@ -293,6 +294,8 @@ region_builder_add_row (region_builder_t *builder, const row_t *row) first++; } + + return TRUE; } static pixman_bool_t @@ -314,32 +317,32 @@ region_builder_finish (region_builder_t *builder, pixman_region32_t *region) pixman_region32_init_rect ( region, b->x1, b->y1, b->x2 - b->x1, b->y2 - b->y1); + + return TRUE; } else { - pixman_box32_t *extents = &(region->extents); + pixman_box32_t extents = { INT32_MAX, INT32_MAX, INT32_MIN, INT32_MIN }; int i; - extents->x1 = INT32_MAX; - extents->y1 = INT32_MAX; - extents->x2 = INT32_MIN; - extents->y2 = INT32_MIN; - for (i = 0; i < builder->data->numRects; ++i) { pixman_box32_t *b = (pixman_box32_t *)(builder->data + 1 + i); - if (b->x1 < extents->x1) - extents->x1 = b->x1; - if (b->y1 < extents->y1) - extents->y1 = b->y1; - if (b->x2 > extents->x2) - extents->x2 = b->x2; - if (b->y2 > extents->y2) - extents->y2 = b->y2; + if (b->x1 < extents.x1) + extents.x1 = b->x1; + if (b->y1 < extents.y1) + extents.y1 = b->y1; + if (b->x2 > extents.x2) + extents.x2 = b->x2; + if (b->y2 > extents.y2) + extents.y2 = b->y2; } + region->extents = extents; region->data = builder->data; + + return TRUE; } } @@ -759,7 +762,8 @@ region_op (ops_t op, } pixman_region32_fini (dst); - region_builder_finish (&builder, dst); + + return region_builder_finish (&builder, dst); } static int @@ -767,7 +771,6 @@ compare_boxes (const void *box1v, const void *box2v) { const pixman_box32_t *box1 = box1v; const pixman_box32_t *box2 = box2v; - int c; if (box1->y1 == box2->y1) return 0; @@ -809,9 +812,9 @@ make_region_from_sorted (pixman_region32_t *region, return FALSE; } - - return TRUE; } + + return TRUE; } pixman_bool_t |