aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/platform/graphics/cairo/CairoPainter.cpp1
-rw-r--r--src/platform/gui/xcb/Window.cpp3
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);
}