Render Window as Non-Child on Win32 platform
This patch makes the "Render" window a top-level window, not a child of the main window, which was the case in blender versions prior to 2.93. This means it is no longer "on top", nor is the icon grouped on the taskbar in the same way, but you can Alt-Tab between it and the main window. This change only affects the Windows platform as the other platforms behave this way. See D11576 for links to negative feedback that prompts this change. Differential Revision: https://developer.blender.org/D11576 Reviewed by Brecht Van Lommel
This commit is contained in:
parent
7bc5246156
commit
bd87ba90e6
Notes:
blender-bot
2023-02-14 03:44:41 +01:00
Referenced by issue #89021, Focus to main window does not occur after pressing it while render window is visible Referenced by issue #88786, View Render always on top
|
@ -164,6 +164,7 @@ ScrArea *render_view_open(bContext *C, int mx, int my, ReportList *reports)
|
|||
sizex,
|
||||
sizey,
|
||||
SPACE_IMAGE,
|
||||
true,
|
||||
false,
|
||||
true,
|
||||
WIN_ALIGN_LOCATION_CENTER) == NULL) {
|
||||
|
|
|
@ -1585,6 +1585,7 @@ ScrArea *ED_screen_temp_space_open(bContext *C,
|
|||
sizex,
|
||||
sizey,
|
||||
(int)space_type,
|
||||
false,
|
||||
dialog,
|
||||
true,
|
||||
WIN_ALIGN_LOCATION_CENTER)) {
|
||||
|
|
|
@ -1362,6 +1362,7 @@ static int area_dupli_invoke(bContext *C, wmOperator *op, const wmEvent *event)
|
|||
area->winx,
|
||||
area->winy,
|
||||
SPACE_EMPTY,
|
||||
false,
|
||||
true,
|
||||
false,
|
||||
WIN_ALIGN_ABSOLUTE);
|
||||
|
@ -4955,6 +4956,7 @@ static int userpref_show_exec(bContext *C, wmOperator *op)
|
|||
sizey,
|
||||
SPACE_USERPREF,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
WIN_ALIGN_LOCATION_CENTER) != NULL) {
|
||||
/* The header only contains the editor switcher and looks empty.
|
||||
|
@ -5021,6 +5023,7 @@ static int drivers_editor_show_exec(bContext *C, wmOperator *op)
|
|||
sizey,
|
||||
SPACE_GRAPH,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
WIN_ALIGN_LOCATION_CENTER) != NULL) {
|
||||
ED_drivers_editor_init(C, CTX_wm_area(C));
|
||||
|
@ -5089,6 +5092,7 @@ static int info_log_show_exec(bContext *C, wmOperator *op)
|
|||
sizey,
|
||||
SPACE_INFO,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
WIN_ALIGN_LOCATION_CENTER) != NULL) {
|
||||
return OPERATOR_FINISHED;
|
||||
|
|
|
@ -190,6 +190,7 @@ struct wmWindow *WM_window_open(struct bContext *C,
|
|||
int sizex,
|
||||
int sizey,
|
||||
int space_type,
|
||||
bool toplevel,
|
||||
bool dialog,
|
||||
bool temp,
|
||||
WindowAlignment alignment);
|
||||
|
|
|
@ -756,6 +756,7 @@ static bool wm_window_update_size_position(wmWindow *win)
|
|||
|
||||
/**
|
||||
* \param space_type: SPACE_VIEW3D, SPACE_INFO, ... (eSpace_Type)
|
||||
* \param toplevel: Not a child owned by other windows. A peer of main window.
|
||||
* \param dialog: whether this should be made as a dialog-style window
|
||||
* \param temp: whether this is considered a short-lived window
|
||||
* \param alignment: how this window is positioned relative to its parent
|
||||
|
@ -768,6 +769,7 @@ wmWindow *WM_window_open(bContext *C,
|
|||
int sizex,
|
||||
int sizey,
|
||||
int space_type,
|
||||
bool toplevel,
|
||||
bool dialog,
|
||||
bool temp,
|
||||
WindowAlignment alignment)
|
||||
|
@ -822,7 +824,7 @@ wmWindow *WM_window_open(bContext *C,
|
|||
|
||||
/* add new window? */
|
||||
if (win == NULL) {
|
||||
win = wm_window_new(bmain, wm, win_prev, dialog);
|
||||
win = wm_window_new(bmain, wm, toplevel ? NULL : win_prev, dialog);
|
||||
win->posx = rect.xmin;
|
||||
win->posy = rect.ymin;
|
||||
*win->stereo3d_format = *win_prev->stereo3d_format;
|
||||
|
@ -925,6 +927,7 @@ int wm_window_new_exec(bContext *C, wmOperator *UNUSED(op))
|
|||
area->spacetype,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
WIN_ALIGN_PARENT_CENTER) != NULL);
|
||||
|
||||
return ok ? OPERATOR_FINISHED : OPERATOR_CANCELLED;
|
||||
|
|
Loading…
Reference in New Issue