File tree Expand file tree Collapse file tree 2 files changed +8
-2
lines changed
Expand file tree Collapse file tree 2 files changed +8
-2
lines changed Original file line number Diff line number Diff line change @@ -348,7 +348,13 @@ void Viewport::_sub_window_update(Window *p_window) {
348348 close_icon->draw (sw.canvas_item , r.position + Vector2 (r.size .width - close_h_ofs, -close_v_ofs));
349349 }
350350
351- RS::get_singleton ()->canvas_item_add_texture_rect (sw.canvas_item , r, sw.window ->get_texture ()->get_rid ());
351+ const Transform2D xform = sw.window ->window_transform * sw.window ->stretch_transform ;
352+ Rect2 vr = xform.xform (sw.window ->get_visible_rect ());
353+ vr.position += p_window->get_position ();
354+ if (vr != r) {
355+ RS::get_singleton ()->canvas_item_add_rect (sw.canvas_item , r, Color ());
356+ }
357+ RS::get_singleton ()->canvas_item_add_texture_rect (sw.canvas_item , vr, sw.window ->get_texture ()->get_rid ());
352358}
353359
354360void Viewport::_sub_window_grab_focus (Window *p_window) {
Original file line number Diff line number Diff line change @@ -1239,7 +1239,7 @@ void Window::_update_viewport_size() {
12391239
12401240 if (window_id != DisplayServer::INVALID_WINDOW_ID) {
12411241 RenderingServer::get_singleton ()->viewport_attach_to_screen (get_viewport_rid (), attach_to_screen_rect, window_id);
1242- } else {
1242+ } else if (! is_embedded ()) {
12431243 RenderingServer::get_singleton ()->viewport_attach_to_screen (get_viewport_rid (), Rect2i (), DisplayServer::INVALID_WINDOW_ID);
12441244 }
12451245
You can’t perform that action at this time.
0 commit comments