Merge branch 'blender-v3.4-release'
This commit is contained in:
commit
ec1ab6310a
|
@ -1157,6 +1157,18 @@ static void gwl_registry_entry_update_all(GWL_Display *display, const int interf
|
|||
/** \name Private Utility Functions
|
||||
* \{ */
|
||||
|
||||
static void ghost_wl_display_report_error(struct wl_display *display)
|
||||
{
|
||||
int ecode = wl_display_get_error(display);
|
||||
GHOST_ASSERT(ecode, "Error not set!");
|
||||
if ((ecode == EPIPE || ecode == ECONNRESET)) {
|
||||
fprintf(stderr, "The Wayland connection broke. Did the Wayland compositor die?\n");
|
||||
}
|
||||
else {
|
||||
fprintf(stderr, "The Wayland connection experienced a fatal error: %s\n", strerror(ecode));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback for WAYLAND to run when there is an error.
|
||||
*
|
||||
|
@ -5152,10 +5164,14 @@ bool GHOST_SystemWayland::processEvents(bool waitForEvent)
|
|||
#endif /* WITH_INPUT_NDOF */
|
||||
|
||||
if (waitForEvent) {
|
||||
wl_display_dispatch(display_->wl_display);
|
||||
if (wl_display_dispatch(display_->wl_display) == -1) {
|
||||
ghost_wl_display_report_error(display_->wl_display);
|
||||
}
|
||||
}
|
||||
else {
|
||||
wl_display_roundtrip(display_->wl_display);
|
||||
if (wl_display_roundtrip(display_->wl_display) == -1) {
|
||||
ghost_wl_display_report_error(display_->wl_display);
|
||||
}
|
||||
}
|
||||
|
||||
if (getEventManager()->getNumEvents() > 0) {
|
||||
|
|
|
@ -219,7 +219,7 @@ static void xdg_toplevel_handle_close(void *data, xdg_toplevel * /*xdg_toplevel*
|
|||
static_cast<GWL_Window *>(data)->ghost_window->close();
|
||||
}
|
||||
|
||||
static const xdg_toplevel_listener toplevel_listener = {
|
||||
static const xdg_toplevel_listener xdg_toplevel_listener = {
|
||||
xdg_toplevel_handle_configure,
|
||||
xdg_toplevel_handle_close,
|
||||
};
|
||||
|
@ -322,7 +322,7 @@ static void xdg_toplevel_decoration_handle_configure(
|
|||
static_cast<GWL_Window *>(data)->xdg_decor->mode = (zxdg_toplevel_decoration_v1_mode)mode;
|
||||
}
|
||||
|
||||
static const zxdg_toplevel_decoration_v1_listener toplevel_decoration_v1_listener = {
|
||||
static const zxdg_toplevel_decoration_v1_listener xdg_toplevel_decoration_v1_listener = {
|
||||
xdg_toplevel_decoration_handle_configure,
|
||||
};
|
||||
|
||||
|
@ -418,7 +418,7 @@ static void surface_handle_leave(void *data,
|
|||
}
|
||||
}
|
||||
|
||||
static struct wl_surface_listener wl_surface_listener = {
|
||||
static const struct wl_surface_listener wl_surface_listener = {
|
||||
surface_handle_enter,
|
||||
surface_handle_leave,
|
||||
};
|
||||
|
@ -483,7 +483,7 @@ GHOST_WindowWayland::GHOST_WindowWayland(GHOST_SystemWayland *system,
|
|||
|
||||
wl_surface_set_buffer_scale(window_->wl_surface, window_->scale);
|
||||
|
||||
wl_surface_add_listener(window_->wl_surface, &wl_surface_listener, this);
|
||||
wl_surface_add_listener(window_->wl_surface, &wl_surface_listener, window_);
|
||||
|
||||
window_->egl_window = wl_egl_window_create(
|
||||
window_->wl_surface, int(window_->size[0]), int(window_->size[1]));
|
||||
|
@ -537,13 +537,13 @@ GHOST_WindowWayland::GHOST_WindowWayland(GHOST_SystemWayland *system,
|
|||
decor.toplevel_decor = zxdg_decoration_manager_v1_get_toplevel_decoration(
|
||||
system_->xdg_decor_manager(), decor.toplevel);
|
||||
zxdg_toplevel_decoration_v1_add_listener(
|
||||
decor.toplevel_decor, &toplevel_decoration_v1_listener, window_);
|
||||
decor.toplevel_decor, &xdg_toplevel_decoration_v1_listener, window_);
|
||||
zxdg_toplevel_decoration_v1_set_mode(decor.toplevel_decor,
|
||||
ZXDG_TOPLEVEL_DECORATION_V1_MODE_SERVER_SIDE);
|
||||
}
|
||||
|
||||
xdg_surface_add_listener(decor.surface, &xdg_surface_listener, window_);
|
||||
xdg_toplevel_add_listener(decor.toplevel, &toplevel_listener, window_);
|
||||
xdg_toplevel_add_listener(decor.toplevel, &xdg_toplevel_listener, window_);
|
||||
|
||||
if (parentWindow && is_dialog) {
|
||||
WGL_XDG_Decor_Window &decor_parent =
|
||||
|
|
|
@ -632,7 +632,7 @@ endif()
|
|||
|
||||
# SVG Import
|
||||
if(True)
|
||||
set(_svg_render_tests path)
|
||||
set(_svg_render_tests complex path)
|
||||
|
||||
foreach(render_test ${_svg_render_tests})
|
||||
add_python_test(
|
||||
|
|
|
@ -50,7 +50,10 @@ def main():
|
|||
from modules import render_report
|
||||
report = render_report.Report('IO Curve SVG', output_dir, idiff)
|
||||
report.set_pixelated(True)
|
||||
print(test_dir)
|
||||
|
||||
test_dir_name = Path(test_dir).name
|
||||
if test_dir_name == 'complex':
|
||||
report.set_fail_percent(0.01)
|
||||
|
||||
ok = report.run(test_dir, blender, get_arguments, batch=True)
|
||||
|
||||
|
|
|
@ -166,6 +166,9 @@ class Report:
|
|||
def set_fail_threshold(self, threshold):
|
||||
self.fail_threshold = threshold
|
||||
|
||||
def set_fail_percent(self, percent):
|
||||
self.fail_percent = percent
|
||||
|
||||
def set_reference_dir(self, reference_dir):
|
||||
self.reference_dir = reference_dir
|
||||
|
||||
|
|
Loading…
Reference in New Issue