Commit 2ebff444 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

vout: simplify window allocation following splitter separation

parent f7314b4a
......@@ -614,16 +614,17 @@ vout_window_t * vout_NewDisplayWindow(vout_thread_t *vout,
{
vout_window_cfg_t cfg_override = *cfg;
assert(vout->p->splitter_name == NULL);
if (!var_InheritBool( vout, "embedded-video"))
cfg_override.is_standalone = true;
if (vout->p->window.is_unused && vout->p->window.object) {
assert(!vout->p->splitter_name);
vout_window_t *window = vout->p->window.object;
if (vout->p->window.is_unused && window != NULL) {
if (!cfg_override.is_standalone == !vout->p->window.cfg.is_standalone &&
cfg_override.type == vout->p->window.cfg.type) {
/* Reuse the stored window */
msg_Dbg(vout, "Reusing previous vout window");
vout_window_t *window = vout->p->window.object;
if (cfg_override.width != vout->p->window.cfg.width ||
cfg_override.height != vout->p->window.cfg.height)
vout_window_SetSize(window,
......@@ -633,16 +634,13 @@ vout_window_t * vout_NewDisplayWindow(vout_thread_t *vout,
return window;
}
vout_window_Delete(vout->p->window.object);
vout_window_Delete(window);
vout->p->window.is_unused = true;
vout->p->window.object = NULL;
}
vout_window_t *window = vout_window_New(VLC_OBJECT(vout), "$window",
&cfg_override);
if (!window)
return NULL;
if (!vout->p->splitter_name) {
window = vout_window_New(VLC_OBJECT(vout), "$window", &cfg_override);
if (window != NULL) {
vout->p->window.is_unused = false;
vout->p->window.cfg = cfg_override;
vout->p->window.object = window;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment