From a9c1f17131dc217ed08ca0bd276021f0a1ad7630 Mon Sep 17 00:00:00 2001 From: Paul Cornett Date: Sat, 15 Jul 2017 11:52:01 -0700 Subject: [PATCH] Fix creating cursor from XBM data with GTK3, see #17916 --- src/gtk/cursor.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gtk/cursor.cpp b/src/gtk/cursor.cpp index 55e6123fab..2846372695 100644 --- a/src/gtk/cursor.cpp +++ b/src/gtk/cursor.cpp @@ -109,9 +109,9 @@ wxCursor::wxCursor(const char bits[], int width, int height, #ifdef __WXGTK3__ wxBitmap bitmap(bits, width, height); if (maskBits) - bitmap.SetMask(new wxMask(wxBitmap(maskBits, width, height))); + bitmap.SetMask(new wxMask(wxBitmap(maskBits, width, height), *wxWHITE)); GdkPixbuf* pixbuf = bitmap.GetPixbuf(); - if (fg || bg) + if ((fg && *fg != *wxBLACK) || (bg && *bg != *wxWHITE)) { const int stride = gdk_pixbuf_get_rowstride(pixbuf); const int n_channels = gdk_pixbuf_get_n_channels(pixbuf); @@ -121,7 +121,7 @@ wxCursor::wxCursor(const char bits[], int width, int height, guchar* p = data; for (int i = 0; i < width; i++, p += n_channels) { - if (p[0]) + if (p[0] == 0) { if (fg) {