We need to use the allocated codepath if *any* argument is
allocated, not if one arg is not allocated.
This bug caused unnecessary calls to _gtk_bitmask_is_allocated,
as well as return completely wrong result if both bitmask are
allocated.
_gtk_bitmask_intersects (const GtkBitmask *mask,
const GtkBitmask *other)
{
- if (!_gtk_bitmask_is_allocated (mask) ||
- !_gtk_bitmask_is_allocated (other))
+ if (_gtk_bitmask_is_allocated (mask) ||
+ _gtk_bitmask_is_allocated (other))
return _gtk_allocated_bitmask_intersects (mask, other);
else
return _gtk_bitmask_to_bits (mask) & _gtk_bitmask_to_bits (other);