MMFMWK-8185 waylandsink: fix waylandsink segfault when exit unpredicted

should check if sink->window is valid to reset wayland surface

upstream status: imx specific
diff --git a/ext/wayland/gstwaylandsink.c b/ext/wayland/gstwaylandsink.c
index 3f32a77..2c4a714 100644
--- a/ext/wayland/gstwaylandsink.c
+++ b/ext/wayland/gstwaylandsink.c
@@ -421,13 +421,13 @@
       break;
     case GST_STATE_CHANGE_PAUSED_TO_READY:
       gst_buffer_replace (&sink->last_buffer, NULL);
-      gst_wl_window_set_alpha(sink->window, 1.0);
-      wl_surface_damage (sink->window->area_surface, 0, 0,
-            sink->window->render_rectangle.w, sink->window->render_rectangle.h);
-      wl_surface_commit (sink->window->area_surface);
-      wl_display_roundtrip (sink->display->display);
       gst_wayland_sink_config_hdr10 (sink, NULL);
       if (sink->window) {
+        gst_wl_window_set_alpha(sink->window, 1.0);
+        wl_surface_damage (sink->window->area_surface, 0, 0,
+              sink->window->render_rectangle.w, sink->window->render_rectangle.h);
+        wl_surface_commit (sink->window->area_surface);
+        wl_display_roundtrip (sink->display->display);
         if (gst_wl_window_is_toplevel (sink->window)) {
           g_clear_object (&sink->window);
         } else {
diff --git a/ext/wayland/wlwindow.c b/ext/wayland/wlwindow.c
index c49bfd4..c4823b1 100644
--- a/ext/wayland/wlwindow.c
+++ b/ext/wayland/wlwindow.c
@@ -469,7 +469,7 @@
 void
 gst_wl_window_set_alpha (GstWlWindow * window, gfloat alpha)
 {
-  if (window->blend_func) {
+  if (window && window->blend_func) {
     zwp_blending_v1_set_alpha(window->blend_func, wl_fixed_from_double(alpha));
     if(alpha < 1.0)
       zwp_blending_v1_set_blending(window->blend_func, ZWP_BLENDING_V1_BLENDING_EQUATION_FROMSOURCE);