diff options
| -rw-r--r-- | src/platform/graphics/cairo/CairoPainter.cpp | 1 | ||||
| -rw-r--r-- | src/platform/gui/xcb/Window.cpp | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/platform/graphics/cairo/CairoPainter.cpp b/src/platform/graphics/cairo/CairoPainter.cpp index a0a28337..1db00efa 100644 --- a/src/platform/graphics/cairo/CairoPainter.cpp +++ b/src/platform/graphics/cairo/CairoPainter.cpp @@ -166,6 +166,7 @@ void CairoPainter::FillGeometry(IGeometry* geometry, IBrush* brush) { cairo_save(cairo_); cairo_set_source(cairo_, cairo_pattern); + cairo_set_fill_rule(cairo_, CAIRO_FILL_RULE_EVEN_ODD); cairo_new_path(cairo_); cairo_append_path(cairo_, cairo_path); cairo_fill(cairo_); diff --git a/src/platform/gui/xcb/Window.cpp b/src/platform/gui/xcb/Window.cpp index 6728fbbd..f85ec634 100644 --- a/src/platform/gui/xcb/Window.cpp +++ b/src/platform/gui/xcb/Window.cpp @@ -242,6 +242,9 @@ Point XcbWindow::GetMousePosition() { auto cookie = xcb_query_pointer(application_->GetXcbConnection(), window); auto reply = MakeAutoFree(xcb_query_pointer_reply( application_->GetXcbConnection(), cookie, nullptr)); + if (!reply) { + return {}; + } return Point(reply->win_x, reply->win_y); } |
