<html>
    <head>
      <base href="https://bugzilla.gnome.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO - [Wayland] Crash under gdk_wayland_window_attach_image()"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=793062#c21">Comment # 21</a>
              on <a class="bz_bug_link 
          bz_status_NEEDINFO "
   title="NEEDINFO - [Wayland] Crash under gdk_wayland_window_attach_image()"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=793062">bug 793062</a>
              from <span class="vcard"><a href="page.cgi?id=describeuser.html&login=ofourdan%40redhat.com" title="Olivier Fourdan <ofourdan@redhat.com>"> <span class="fn">Olivier Fourdan</span></a>
</span></b>
        <pre>FWIW, the code in gdk/gdkwindow.c with the patch applied should read as:

 3802 static void
 3803 _gdk_window_process_updates_recurse_helper (GdkWindow *window,
 3804                                             cairo_region_t
*expose_region)
 3805 {
 ...
 3835   /* While gtk+ no longer handles exposes on anything but native
 3836      window we still have to send them to all windows that have the
 3837      event mask set for backwards compat. We also need to send
 3838      it to all native windows, even if they don't specify the
 3839      expose mask, because they may have non-native children that do. */
 3840   if (GDK_WINDOW_IS_MAPPED(window) &&
 3841       (gdk_window_has_impl (window) ||
 3842        window->event_mask & GDK_EXPOSURE_MASK))
 3843     {
 3844       GdkEvent event;
 3845 
 3846       event.expose.type = GDK_EXPOSE;
 3847       event.expose.window = window; /* we already hold a ref */
 3848       event.expose.send_event = FALSE;
 3849       event.expose.count = 0;
 3850       event.expose.region = clipped_expose_region;
 3851       cairo_region_get_extents (clipped_expose_region,
&event.expose.area);
 3852 
 3853       _gdk_event_emit (&event);
 3854     }
 3855 

So we should not get to _gdk_event_emit() line 3853 with “state =
(GDK_WINDOW_STATE_WITHDRAWN | GDK_WINDOW_STATE_FOCUSED)” because we're within
“if (GDK_WINDOW_IS_MAPPED(window) && ...) { }” line 3840</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>