ui/sdl2-gl.c | 4 ++++ 1 file changed, 4 insertions(+)
A console does not have a window if the surface is a placeholder and
the console is not the first one. sdl2 cannot update the texture in
such a case.
Add a proper check for window existence. Such a check is only necessary
for the "gl" implementation as the "2d" implementation checks for the
texture, which is set only if a window exists.
Fixes: c821a58ee7 ("ui/console: Pass placeholder surface to displays")
Reported-by: Antonio Caggiano <quic_acaggian@quicinc.com>
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
ui/sdl2-gl.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/ui/sdl2-gl.c b/ui/sdl2-gl.c
index 39cab8cde7..bbfa70eac3 100644
--- a/ui/sdl2-gl.c
+++ b/ui/sdl2-gl.c
@@ -67,6 +67,10 @@ void sdl2_gl_update(DisplayChangeListener *dcl,
assert(scon->opengl);
+ if (!scon->real_window) {
+ return;
+ }
+
SDL_GL_MakeCurrent(scon->real_window, scon->winctx);
surface_gl_update_texture(scon->gls, scon->surface, x, y, w, h);
scon->updates++;
--
2.40.1
Hi On Thu, Jun 8, 2023 at 4:56 PM Akihiko Odaki <akihiko.odaki@daynix.com> wrote: > A console does not have a window if the surface is a placeholder and > the console is not the first one. sdl2 cannot update the texture in > such a case. > > Add a proper check for window existence. Such a check is only necessary > for the "gl" implementation as the "2d" implementation checks for the > texture, which is set only if a window exists. > > Fixes: c821a58ee7 ("ui/console: Pass placeholder surface to displays") > Reported-by: Antonio Caggiano <quic_acaggian@quicinc.com> > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> > Unless I am mistaken, this is fixed in git already: commit b3a654d82ecf276b59a67b2fd688e11a0d8a0064 Author: Marc-André Lureau <marcandre.lureau@redhat.com> Date: Thu May 11 11:42:17 2023 +0400 ui/sdl2: fix surface_gl_update_texture: Assertion 'gls' failed thanks --- > ui/sdl2-gl.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/ui/sdl2-gl.c b/ui/sdl2-gl.c > index 39cab8cde7..bbfa70eac3 100644 > --- a/ui/sdl2-gl.c > +++ b/ui/sdl2-gl.c > @@ -67,6 +67,10 @@ void sdl2_gl_update(DisplayChangeListener *dcl, > > assert(scon->opengl); > > + if (!scon->real_window) { > + return; > + } > + > SDL_GL_MakeCurrent(scon->real_window, scon->winctx); > surface_gl_update_texture(scon->gls, scon->surface, x, y, w, h); > scon->updates++; > -- > 2.40.1 > > > -- Marc-André Lureau
On 2023/06/12 18:00, Marc-André Lureau wrote: > Hi > > On Thu, Jun 8, 2023 at 4:56 PM Akihiko Odaki <akihiko.odaki@daynix.com > <mailto:akihiko.odaki@daynix.com>> wrote: > > A console does not have a window if the surface is a placeholder and > the console is not the first one. sdl2 cannot update the texture in > such a case. > > Add a proper check for window existence. Such a check is only necessary > for the "gl" implementation as the "2d" implementation checks for the > texture, which is set only if a window exists. > > Fixes: c821a58ee7 ("ui/console: Pass placeholder surface to displays") > Reported-by: Antonio Caggiano <quic_acaggian@quicinc.com > <mailto:quic_acaggian@quicinc.com>> > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com > <mailto:akihiko.odaki@daynix.com>> > > > > Unless I am mistaken, this is fixed in git already: > commit b3a654d82ecf276b59a67b2fd688e11a0d8a0064 > Author: Marc-André Lureau <marcandre.lureau@redhat.com > <mailto:marcandre.lureau@redhat.com>> > Date: Thu May 11 11:42:17 2023 +0400 > > ui/sdl2: fix surface_gl_update_texture: Assertion 'gls' failed > > thanks > > --- > ui/sdl2-gl.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/ui/sdl2-gl.c b/ui/sdl2-gl.c > index 39cab8cde7..bbfa70eac3 100644 > --- a/ui/sdl2-gl.c > +++ b/ui/sdl2-gl.c > @@ -67,6 +67,10 @@ void sdl2_gl_update(DisplayChangeListener *dcl, > > assert(scon->opengl); > > + if (!scon->real_window) { > + return; > + } > + > SDL_GL_MakeCurrent(scon->real_window, scon->winctx); > surface_gl_update_texture(scon->gls, scon->surface, x, y, w, h); > scon->updates++; > -- > 2.40.1 > > > > > -- > Marc-André Lureau I overlooked it. You are right. It is identical and there is no need for additional patch. Regards, Akihiko Odaki
Reviewed-by: Antonio Caggiano <quic_acaggian@quicinc.com> On 08/06/2023 16:55, Akihiko Odaki wrote: > A console does not have a window if the surface is a placeholder and > the console is not the first one. sdl2 cannot update the texture in > such a case. > > Add a proper check for window existence. Such a check is only necessary > for the "gl" implementation as the "2d" implementation checks for the > texture, which is set only if a window exists. > > Fixes: c821a58ee7 ("ui/console: Pass placeholder surface to displays") > Reported-by: Antonio Caggiano <quic_acaggian@quicinc.com> > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> > --- > ui/sdl2-gl.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/ui/sdl2-gl.c b/ui/sdl2-gl.c > index 39cab8cde7..bbfa70eac3 100644 > --- a/ui/sdl2-gl.c > +++ b/ui/sdl2-gl.c > @@ -67,6 +67,10 @@ void sdl2_gl_update(DisplayChangeListener *dcl, > > assert(scon->opengl); > > + if (!scon->real_window) { > + return; > + } > + > SDL_GL_MakeCurrent(scon->real_window, scon->winctx); > surface_gl_update_texture(scon->gls, scon->surface, x, y, w, h); > scon->updates++;
© 2016 - 2024 Red Hat, Inc.