diff --git a/gdk/gdkcairo.c b/gdk/gdkcairo.c index 2ae8b09459..ea58c428f9 100644 --- a/gdk/gdkcairo.c +++ b/gdk/gdkcairo.c @@ -427,7 +427,11 @@ gdk_cairo_region_create_from_surface (cairo_surface_t *surface) gint x0 = x; while (x < extents.width) { +#if G_BYTE_ORDER == G_LITTLE_ENDIAN if (((data[x / 8] >> (x%8)) & 1) == 0) +#else + if (((data[x / 8] >> (7-(x%8))) & 1) == 0) +#endif /* This pixel is "transparent"*/ break; x++; diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 657f9f8e69..50370a589a 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -5298,7 +5298,7 @@ set_grip_shape (GtkWindow *window) width = gdk_window_get_width (priv->grip_window); height = gdk_window_get_height (priv->grip_window); - surface = cairo_image_surface_create (CAIRO_FORMAT_A8, width, height); + surface = cairo_image_surface_create (CAIRO_FORMAT_A1, width, height); cr = cairo_create (surface); cairo_set_source_rgba (cr, 0.0, 0.0, 0.0, 0.0);