* [PULL 1/5] ui/gtk: force realization of drawing area
2023-11-07 9:30 [PULL 0/5] Ui patches marcandre.lureau
@ 2023-11-07 9:30 ` marcandre.lureau
2023-11-07 9:30 ` [PULL 2/5] ui/gtk-egl: Check EGLSurface before doing scanout marcandre.lureau
` (5 subsequent siblings)
6 siblings, 0 replies; 18+ messages in thread
From: marcandre.lureau @ 2023-11-07 9:30 UTC (permalink / raw)
To: qemu-devel
Cc: Gerd Hoffmann, Marc-André Lureau, Akihiko Odaki,
Philippe Mathieu-Daudé, Markus Armbruster, Eric Blake,
Peter Maydell
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Fixes the GL context creation from a widget that isn't yet realized (in
a hidden tab for example).
Resolves:
https://gitlab.com/qemu-project/qemu/-/issues/1727
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Antonio Caggiano <quic_acaggian@quicinc.com>
Message-Id: <20231017111642.1155545-1-marcandre.lureau@redhat.com>
---
ui/gtk.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/ui/gtk.c b/ui/gtk.c
index 935de1209b..2a4c9b84ba 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -2371,6 +2371,7 @@ static void gtk_display_init(DisplayState *ds, DisplayOptions *opts)
GdkDisplay *window_display;
GtkIconTheme *theme;
char *dir;
+ int idx;
if (!gtkinit) {
fprintf(stderr, "gtk initialization failed\n");
@@ -2434,6 +2435,15 @@ static void gtk_display_init(DisplayState *ds, DisplayOptions *opts)
gtk_container_add(GTK_CONTAINER(s->window), s->vbox);
gtk_widget_show_all(s->window);
+
+ for (idx = 0;; idx++) {
+ QemuConsole *con = qemu_console_lookup_by_index(idx);
+ if (!con) {
+ break;
+ }
+ gtk_widget_realize(s->vc[idx].gfx.drawing_area);
+ }
+
if (opts->u.gtk.has_show_menubar &&
!opts->u.gtk.show_menubar) {
gtk_widget_hide(s->menu_bar);
--
2.41.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PULL 2/5] ui/gtk-egl: Check EGLSurface before doing scanout
2023-11-07 9:30 [PULL 0/5] Ui patches marcandre.lureau
2023-11-07 9:30 ` [PULL 1/5] ui/gtk: force realization of drawing area marcandre.lureau
@ 2023-11-07 9:30 ` marcandre.lureau
2023-11-09 19:59 ` Volker Rümelin
2023-11-07 9:30 ` [PULL 3/5] ui/gtk-egl: apply scale factor when calculating window's dimension marcandre.lureau
` (4 subsequent siblings)
6 siblings, 1 reply; 18+ messages in thread
From: marcandre.lureau @ 2023-11-07 9:30 UTC (permalink / raw)
To: qemu-devel
Cc: Gerd Hoffmann, Marc-André Lureau, Akihiko Odaki,
Philippe Mathieu-Daudé, Markus Armbruster, Eric Blake,
Peter Maydell, Antonio Caggiano
From: Antonio Caggiano <quic_acaggian@quicinc.com>
The first time gd_egl_scanout_texture() is called, there's a possibility
that the GTK drawing area might not be realized yet, in which case its
associated GdkWindow is NULL. This means gd_egl_init() was also skipped
and the EGLContext and EGLSurface stored in the VirtualGfxConsole are
not valid yet.
Continuing with the scanout in this conditions would result in hitting
an assert in libepoxy: "Couldn't find current GLX or EGL context".
A possible workaround is to just ignore the scanout request, giving the
the GTK drawing area some time to finish its realization. At that point,
the gd_egl_init() will succeed and the EGLContext and EGLSurface stored
in the VirtualGfxConsole will be valid.
Signed-off-by: Antonio Caggiano <quic_acaggian@quicinc.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20231016123215.2699269-1-quic_acaggian@quicinc.com>
---
ui/gtk-egl.c | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/ui/gtk-egl.c b/ui/gtk-egl.c
index a1060fd80f..3e8d1c1d02 100644
--- a/ui/gtk-egl.c
+++ b/ui/gtk-egl.c
@@ -243,12 +243,19 @@ void gd_egl_scanout_texture(DisplayChangeListener *dcl,
vc->gfx.h = h;
vc->gfx.y0_top = backing_y_0_top;
- eglMakeCurrent(qemu_egl_display, vc->gfx.esurface,
- vc->gfx.esurface, vc->gfx.ectx);
+ if (!vc->gfx.esurface) {
+ gd_egl_init(vc);
+ if (!vc->gfx.esurface) {
+ return;
+ }
+
+ eglMakeCurrent(qemu_egl_display, vc->gfx.esurface,
+ vc->gfx.esurface, vc->gfx.ectx);
- gtk_egl_set_scanout_mode(vc, true);
- egl_fb_setup_for_tex(&vc->gfx.guest_fb, backing_width, backing_height,
- backing_id, false);
+ gtk_egl_set_scanout_mode(vc, true);
+ egl_fb_setup_for_tex(&vc->gfx.guest_fb, backing_width, backing_height,
+ backing_id, false);
+ }
}
void gd_egl_scanout_dmabuf(DisplayChangeListener *dcl,
--
2.41.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PULL 2/5] ui/gtk-egl: Check EGLSurface before doing scanout
2023-11-07 9:30 ` [PULL 2/5] ui/gtk-egl: Check EGLSurface before doing scanout marcandre.lureau
@ 2023-11-09 19:59 ` Volker Rümelin
2023-11-10 19:25 ` Volker Rümelin
0 siblings, 1 reply; 18+ messages in thread
From: Volker Rümelin @ 2023-11-09 19:59 UTC (permalink / raw)
To: Antonio Caggiano
Cc: Marc-André Lureau, Gerd Hoffmann, Michael Tokarev,
qemu-devel
> From: Antonio Caggiano <quic_acaggian@quicinc.com>
>
> The first time gd_egl_scanout_texture() is called, there's a possibility
> that the GTK drawing area might not be realized yet, in which case its
> associated GdkWindow is NULL. This means gd_egl_init() was also skipped
> and the EGLContext and EGLSurface stored in the VirtualGfxConsole are
> not valid yet.
>
> Continuing with the scanout in this conditions would result in hitting
> an assert in libepoxy: "Couldn't find current GLX or EGL context".
>
> A possible workaround is to just ignore the scanout request, giving the
> the GTK drawing area some time to finish its realization. At that point,
> the gd_egl_init() will succeed and the EGLContext and EGLSurface stored
> in the VirtualGfxConsole will be valid.
>
> Signed-off-by: Antonio Caggiano <quic_acaggian@quicinc.com>
> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> Message-Id: <20231016123215.2699269-1-quic_acaggian@quicinc.com>
> ---
> ui/gtk-egl.c | 17 ++++++++++++-----
> 1 file changed, 12 insertions(+), 5 deletions(-)
Hi Antonio,
this patch breaks the QEMU guest display on my system. QEMU was started
with ./qemu-system-x86_64 -machine q35 -device
virtio-vga-gl,xres=1280,yres=768 -display gtk,zoom-to-fit=off,gl=on. I
can see the OVMF boot screen and then GRUB. After Linux was started,
plymouth normally shows the OVMF boot logo and a rotating spinner. With
your patch the guest screen is black and shows 'Display output is not
active.'. It seems the guest works without issues. I can use ssh to log
in and I can't find any obvious errors in the guest log files. The host
uses a GNOME desktop under X11.
If I revert this patch everything works as expected.
With best regards,
Volker
Cc: Michael Tokarev
This will affect Stable-7.2.7 and Stable-8.1.3.
> diff --git a/ui/gtk-egl.c b/ui/gtk-egl.c
> index a1060fd80f..3e8d1c1d02 100644
> --- a/ui/gtk-egl.c
> +++ b/ui/gtk-egl.c
> @@ -243,12 +243,19 @@ void gd_egl_scanout_texture(DisplayChangeListener *dcl,
> vc->gfx.h = h;
> vc->gfx.y0_top = backing_y_0_top;
>
> - eglMakeCurrent(qemu_egl_display, vc->gfx.esurface,
> - vc->gfx.esurface, vc->gfx.ectx);
> + if (!vc->gfx.esurface) {
> + gd_egl_init(vc);
> + if (!vc->gfx.esurface) {
> + return;
> + }
> +
> + eglMakeCurrent(qemu_egl_display, vc->gfx.esurface,
> + vc->gfx.esurface, vc->gfx.ectx);
>
> - gtk_egl_set_scanout_mode(vc, true);
> - egl_fb_setup_for_tex(&vc->gfx.guest_fb, backing_width, backing_height,
> - backing_id, false);
> + gtk_egl_set_scanout_mode(vc, true);
> + egl_fb_setup_for_tex(&vc->gfx.guest_fb, backing_width, backing_height,
> + backing_id, false);
> + }
> }
>
> void gd_egl_scanout_dmabuf(DisplayChangeListener *dcl,
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PULL 2/5] ui/gtk-egl: Check EGLSurface before doing scanout
2023-11-09 19:59 ` Volker Rümelin
@ 2023-11-10 19:25 ` Volker Rümelin
0 siblings, 0 replies; 18+ messages in thread
From: Volker Rümelin @ 2023-11-10 19:25 UTC (permalink / raw)
To: Antonio Caggiano
Cc: Marc-André Lureau, Gerd Hoffmann, Michael Tokarev,
qemu-devel
>> From: Antonio Caggiano <quic_acaggian@quicinc.com>
>>
>> The first time gd_egl_scanout_texture() is called, there's a possibility
>> that the GTK drawing area might not be realized yet, in which case its
>> associated GdkWindow is NULL. This means gd_egl_init() was also skipped
>> and the EGLContext and EGLSurface stored in the VirtualGfxConsole are
>> not valid yet.
>>
>> Continuing with the scanout in this conditions would result in hitting
>> an assert in libepoxy: "Couldn't find current GLX or EGL context".
>>
>> A possible workaround is to just ignore the scanout request, giving the
>> the GTK drawing area some time to finish its realization. At that point,
>> the gd_egl_init() will succeed and the EGLContext and EGLSurface stored
>> in the VirtualGfxConsole will be valid.
>>
>> Signed-off-by: Antonio Caggiano <quic_acaggian@quicinc.com>
>> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
>> Message-Id: <20231016123215.2699269-1-quic_acaggian@quicinc.com>
>> ---
>> ui/gtk-egl.c | 17 ++++++++++++-----
>> 1 file changed, 12 insertions(+), 5 deletions(-)
> Hi Antonio,
>
> this patch breaks the QEMU guest display on my system. QEMU was started
> with ./qemu-system-x86_64 -machine q35 -device
> virtio-vga-gl,xres=1280,yres=768 -display gtk,zoom-to-fit=off,gl=on. I
> can see the OVMF boot screen and then GRUB. After Linux was started,
> plymouth normally shows the OVMF boot logo and a rotating spinner. With
> your patch the guest screen is black and shows 'Display output is not
> active.'. It seems the guest works without issues. I can use ssh to log
> in and I can't find any obvious errors in the guest log files. The host
> uses a GNOME desktop under X11.
>
> If I revert this patch everything works as expected.
>
> With best regards,
> Volker
>
> Cc: Michael Tokarev
> This will affect Stable-7.2.7 and Stable-8.1.3.
>
>> diff --git a/ui/gtk-egl.c b/ui/gtk-egl.c
>> index a1060fd80f..3e8d1c1d02 100644
>> --- a/ui/gtk-egl.c
>> +++ b/ui/gtk-egl.c
>> @@ -243,12 +243,19 @@ void gd_egl_scanout_texture(DisplayChangeListener *dcl,
>> vc->gfx.h = h;
>> vc->gfx.y0_top = backing_y_0_top;
>>
>> - eglMakeCurrent(qemu_egl_display, vc->gfx.esurface,
>> - vc->gfx.esurface, vc->gfx.ectx);
>> + if (!vc->gfx.esurface) {
>> + gd_egl_init(vc);
>> + if (!vc->gfx.esurface) {
>> + return;
>> + }
>> +
>> + eglMakeCurrent(qemu_egl_display, vc->gfx.esurface,
>> + vc->gfx.esurface, vc->gfx.ectx);
>>
>> - gtk_egl_set_scanout_mode(vc, true);
>> - egl_fb_setup_for_tex(&vc->gfx.guest_fb, backing_width, backing_height,
>> - backing_id, false);
>> + gtk_egl_set_scanout_mode(vc, true);
>> + egl_fb_setup_for_tex(&vc->gfx.guest_fb, backing_width, backing_height,
>> + backing_id, false);
>> + }
>> }
>>
>> void gd_egl_scanout_dmabuf(DisplayChangeListener *dcl,
I can see the mistake. I'll write a patch to fix it.
With best regards,
Volker
^ permalink raw reply [flat|nested] 18+ messages in thread
* [PULL 3/5] ui/gtk-egl: apply scale factor when calculating window's dimension
2023-11-07 9:30 [PULL 0/5] Ui patches marcandre.lureau
2023-11-07 9:30 ` [PULL 1/5] ui/gtk: force realization of drawing area marcandre.lureau
2023-11-07 9:30 ` [PULL 2/5] ui/gtk-egl: Check EGLSurface before doing scanout marcandre.lureau
@ 2023-11-07 9:30 ` marcandre.lureau
2023-11-07 9:30 ` [PULL 4/5] ui/cocoa: add zoom-to-fit display option marcandre.lureau
` (3 subsequent siblings)
6 siblings, 0 replies; 18+ messages in thread
From: marcandre.lureau @ 2023-11-07 9:30 UTC (permalink / raw)
To: qemu-devel
Cc: Gerd Hoffmann, Marc-André Lureau, Akihiko Odaki,
Philippe Mathieu-Daudé, Markus Armbruster, Eric Blake,
Peter Maydell, Dongwon Kim
From: Dongwon Kim <dongwon.kim@intel.com>
Scale factor needs to be applied when calculating width/height of the
GTK windows.
Cc: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20231012222643.13996-1-dongwon.kim@intel.com>
---
ui/gtk-egl.c | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/ui/gtk-egl.c b/ui/gtk-egl.c
index 3e8d1c1d02..cd2f176502 100644
--- a/ui/gtk-egl.c
+++ b/ui/gtk-egl.c
@@ -69,15 +69,16 @@ void gd_egl_draw(VirtualConsole *vc)
#ifdef CONFIG_GBM
QemuDmaBuf *dmabuf = vc->gfx.guest_fb.dmabuf;
#endif
- int ww, wh;
+ int ww, wh, ws;
if (!vc->gfx.gls) {
return;
}
window = gtk_widget_get_window(vc->gfx.drawing_area);
- ww = gdk_window_get_width(window);
- wh = gdk_window_get_height(window);
+ ws = gdk_window_get_scale_factor(window);
+ ww = gdk_window_get_width(window) * ws;
+ wh = gdk_window_get_height(window) * ws;
if (vc->gfx.scanout_mode) {
#ifdef CONFIG_GBM
@@ -319,7 +320,7 @@ void gd_egl_scanout_flush(DisplayChangeListener *dcl,
{
VirtualConsole *vc = container_of(dcl, VirtualConsole, gfx.dcl);
GdkWindow *window;
- int ww, wh;
+ int ww, wh, ws;
if (!vc->gfx.scanout_mode) {
return;
@@ -332,8 +333,9 @@ void gd_egl_scanout_flush(DisplayChangeListener *dcl,
vc->gfx.esurface, vc->gfx.ectx);
window = gtk_widget_get_window(vc->gfx.drawing_area);
- ww = gdk_window_get_width(window);
- wh = gdk_window_get_height(window);
+ ws = gdk_window_get_scale_factor(window);
+ ww = gdk_window_get_width(window) * ws;
+ wh = gdk_window_get_height(window) * ws;
egl_fb_setup_default(&vc->gfx.win_fb, ww, wh);
if (vc->gfx.cursor_fb.texture) {
egl_texture_blit(vc->gfx.gls, &vc->gfx.win_fb, &vc->gfx.guest_fb,
--
2.41.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PULL 4/5] ui/cocoa: add zoom-to-fit display option
2023-11-07 9:30 [PULL 0/5] Ui patches marcandre.lureau
` (2 preceding siblings ...)
2023-11-07 9:30 ` [PULL 3/5] ui/gtk-egl: apply scale factor when calculating window's dimension marcandre.lureau
@ 2023-11-07 9:30 ` marcandre.lureau
2023-11-07 9:30 ` [PULL 5/5] ui: Replacing pointer in function marcandre.lureau
` (2 subsequent siblings)
6 siblings, 0 replies; 18+ messages in thread
From: marcandre.lureau @ 2023-11-07 9:30 UTC (permalink / raw)
To: qemu-devel
Cc: Gerd Hoffmann, Marc-André Lureau, Akihiko Odaki,
Philippe Mathieu-Daudé, Markus Armbruster, Eric Blake,
Peter Maydell, Carwyn Ellis
From: Carwyn Ellis <carwynellis@gmail.com>
Provides a display option, zoom-to-fit, that enables scaling of the
display when full-screen mode is enabled.
Also ensures that the corresponding menu item is marked as enabled when
the option is set to on.
Signed-off-by: Carwyn Ellis <carwynellis@gmail.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20231027154920.80626-2-carwynellis@gmail.com>
---
qapi/ui.json | 7 ++++++-
ui/cocoa.m | 32 ++++++++++++++++++--------------
2 files changed, 24 insertions(+), 15 deletions(-)
diff --git a/qapi/ui.json b/qapi/ui.json
index 006616aa77..3718d40fcf 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -1409,13 +1409,18 @@
# codes match their position on non-Mac keyboards and you can use
# Meta/Super and Alt where you expect them. (default: off)
#
+# @zoom-to-fit: Zoom guest display to fit into the host window. When
+# turned off the host window will be resized instead. Defaults to
+# "off". (Since 8.2)
+#
# Since: 7.0
##
{ 'struct': 'DisplayCocoa',
'data': {
'*left-command-key': 'bool',
'*full-grab': 'bool',
- '*swap-opt-cmd': 'bool'
+ '*swap-opt-cmd': 'bool',
+ '*zoom-to-fit': 'bool'
} }
##
diff --git a/ui/cocoa.m b/ui/cocoa.m
index d95276013c..cd069da696 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -1247,7 +1247,6 @@ - (id) init
[normalWindow makeKeyAndOrderFront:self];
[normalWindow center];
[normalWindow setDelegate: self];
- stretch_video = false;
/* Used for displaying pause on the screen */
pauseLabel = [NSTextField new];
@@ -1671,7 +1670,9 @@ static void create_initial_menus(void)
// View menu
menu = [[NSMenu alloc] initWithTitle:@"View"];
[menu addItem: [[[NSMenuItem alloc] initWithTitle:@"Enter Fullscreen" action:@selector(doToggleFullScreen:) keyEquivalent:@"f"] autorelease]]; // Fullscreen
- [menu addItem: [[[NSMenuItem alloc] initWithTitle:@"Zoom To Fit" action:@selector(zoomToFit:) keyEquivalent:@""] autorelease]];
+ menuItem = [[[NSMenuItem alloc] initWithTitle:@"Zoom To Fit" action:@selector(zoomToFit:) keyEquivalent:@""] autorelease];
+ [menuItem setState: stretch_video ? NSControlStateValueOn : NSControlStateValueOff];
+ [menu addItem: menuItem];
menuItem = [[[NSMenuItem alloc] initWithTitle:@"View" action:nil keyEquivalent:@""] autorelease];
[menuItem setSubmenu:menu];
[[NSApp mainMenu] addItem:menuItem];
@@ -2041,18 +2042,6 @@ static void cocoa_display_init(DisplayState *ds, DisplayOptions *opts)
[QemuApplication sharedApplication];
- create_initial_menus();
-
- /*
- * Create the menu entries which depend on QEMU state (for consoles
- * and removable devices). These make calls back into QEMU functions,
- * which is OK because at this point we know that the second thread
- * holds the iothread lock and is synchronously waiting for us to
- * finish.
- */
- add_console_menu_entries();
- addRemovableDevicesMenuItems();
-
// Create an Application controller
QemuCocoaAppController *controller = [[QemuCocoaAppController alloc] init];
[NSApp setDelegate:controller];
@@ -2077,6 +2066,21 @@ static void cocoa_display_init(DisplayState *ds, DisplayOptions *opts)
left_command_key_enabled = 0;
}
+ if (opts->u.cocoa.has_zoom_to_fit && opts->u.cocoa.zoom_to_fit) {
+ stretch_video = true;
+ }
+
+ create_initial_menus();
+ /*
+ * Create the menu entries which depend on QEMU state (for consoles
+ * and removable devices). These make calls back into QEMU functions,
+ * which is OK because at this point we know that the second thread
+ * holds the iothread lock and is synchronously waiting for us to
+ * finish.
+ */
+ add_console_menu_entries();
+ addRemovableDevicesMenuItems();
+
// register vga output callbacks
register_displaychangelistener(&dcl);
--
2.41.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* [PULL 5/5] ui: Replacing pointer in function
2023-11-07 9:30 [PULL 0/5] Ui patches marcandre.lureau
` (3 preceding siblings ...)
2023-11-07 9:30 ` [PULL 4/5] ui/cocoa: add zoom-to-fit display option marcandre.lureau
@ 2023-11-07 9:30 ` marcandre.lureau
2023-11-07 13:40 ` [PULL 0/5] Ui patches Stefan Hajnoczi
2023-11-07 16:57 ` Michael Tokarev
6 siblings, 0 replies; 18+ messages in thread
From: marcandre.lureau @ 2023-11-07 9:30 UTC (permalink / raw)
To: qemu-devel
Cc: Gerd Hoffmann, Marc-André Lureau, Akihiko Odaki,
Philippe Mathieu-Daudé, Markus Armbruster, Eric Blake,
Peter Maydell, Sergey Mironov
From: Sergey Mironov <mironov@fintech.ru>
At the end of the first if we see 'vc->gfx.surface = NULL;',
further checking of it is pointless. In the second if, ectx is taken.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Co-developed-by: Linux Verification Center <sdl.qemu@linuxtesting.org>
Signed-off-by: Sergey Mironov <mironov@fintech.ru>
Message-ID: <20231012104448.1251039-1-mironov@fintech.ru>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
ui/gtk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ui/gtk.c b/ui/gtk.c
index 2a4c9b84ba..be047a41ad 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -1400,7 +1400,7 @@ static void gd_menu_untabify(GtkMenuItem *item, void *opaque)
eglDestroySurface(qemu_egl_display, vc->gfx.esurface);
vc->gfx.esurface = NULL;
}
- if (vc->gfx.esurface) {
+ if (vc->gfx.ectx) {
eglDestroyContext(qemu_egl_display, vc->gfx.ectx);
vc->gfx.ectx = NULL;
}
--
2.41.0
^ permalink raw reply related [flat|nested] 18+ messages in thread
* Re: [PULL 0/5] Ui patches
2023-11-07 9:30 [PULL 0/5] Ui patches marcandre.lureau
` (4 preceding siblings ...)
2023-11-07 9:30 ` [PULL 5/5] ui: Replacing pointer in function marcandre.lureau
@ 2023-11-07 13:40 ` Stefan Hajnoczi
2023-11-07 16:57 ` Michael Tokarev
6 siblings, 0 replies; 18+ messages in thread
From: Stefan Hajnoczi @ 2023-11-07 13:40 UTC (permalink / raw)
To: marcandre.lureau
Cc: qemu-devel, Gerd Hoffmann, Marc-André Lureau, Akihiko Odaki,
Philippe Mathieu-Daudé, Markus Armbruster, Eric Blake,
Peter Maydell
[-- Attachment #1: Type: text/plain, Size: 115 bytes --]
Applied, thanks.
Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 18+ messages in thread
* Re: [PULL 0/5] Ui patches
2023-11-07 9:30 [PULL 0/5] Ui patches marcandre.lureau
` (5 preceding siblings ...)
2023-11-07 13:40 ` [PULL 0/5] Ui patches Stefan Hajnoczi
@ 2023-11-07 16:57 ` Michael Tokarev
6 siblings, 0 replies; 18+ messages in thread
From: Michael Tokarev @ 2023-11-07 16:57 UTC (permalink / raw)
To: marcandre.lureau, qemu-devel
Cc: Gerd Hoffmann, Akihiko Odaki, Philippe Mathieu-Daudé,
Markus Armbruster, Eric Blake, Peter Maydell, Antonio Caggiano,
Dongwon Kim, Sergey Mironov
07.11.2023 12:30, marcandre.lureau@redhat.com:
...
> Antonio Caggiano (1):
> ui/gtk-egl: Check EGLSurface before doing scanout
>
> Carwyn Ellis (1):
> ui/cocoa: add zoom-to-fit display option
>
> Dongwon Kim (1):
> ui/gtk-egl: apply scale factor when calculating window's dimension
>
> Marc-André Lureau (1):
> ui/gtk: force realization of drawing area
>
> Sergey Mironov (1):
> ui: Replacing pointer in function
Which changes are worth picking up for qemu-stable?
I'm definitely picking up "ui/gtk: force realization of drawing area"
which fixes a real bug. "ui/gtk-egl: Check EGLSurface before doing scanout"
and "ui/gtk-egl: apply scale factor when calculating window's dimension"
smells like valid candidates too, maybe "ui: Replacing pointer in function"
as well?
(Adding patch authors to the Cc list)
Thanks,
/mjt
^ permalink raw reply [flat|nested] 18+ messages in thread