Commit 0957ba52 authored by Matthias Clasen's avatar Matthias Clasen

bitmask: Optimize intersect

The functions was written in a way that would possibly
resize the mask twice, which is not necessary.
parent 3a503b7b
......@@ -174,11 +174,14 @@ _gtk_allocated_bitmask_intersect (GtkBitmask *mask,
mask = gtk_bitmask_ensure_allocated (mask);
ENSURE_ALLOCATED (other, other_allocated);
mask = gtk_allocated_bitmask_resize (mask, MIN (mask->len, other->len));
for (i = 0; i < mask->len; i++)
for (i = 0; i < MIN (mask->len, other->len); i++)
{
mask->data[i] &= other->data[i];
}
for (; i < mask->len; i++)
{
mask->data[i] = 0;
}
return gtk_allocated_bitmask_shrink (mask);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment