Commit Graph

2099 Commits

Author SHA1 Message Date
Matt Borgerson e10ad42caa xemu-snapshots.c: Drop qemu-common.h include 2023-06-18 01:30:38 -07:00
Matt Borgerson 976319b391 Merge remote-tracking branch 'origin/master' into sync/qemu-7.2.0 2023-06-18 01:19:02 -07:00
Matt Borgerson 0ee7502c23 ui: Make aspect ratio config independent, add autodetect 2023-06-18 00:58:39 -07:00
mborgerson 129c48dd6e
ui: Blank screen when VGA SCREEN_OFF is set 2023-06-14 03:36:47 -07:00
Fabx af3f832fd7
ui: Get Windows product and build number 2023-06-12 11:04:02 -07:00
Matt Borgerson d557a294fe ui: Move dvd path settings update to lower level for now 2023-06-04 20:24:43 -07:00
Matt Borgerson 5ac1dd1e98 ui: Fix MainMenuSnapshotsView member visibility 2023-06-04 20:24:43 -07:00
Matt Borgerson 7e6ca1097b ui: Only check for xbe if snapshot xbe filter is on 2023-06-04 20:24:43 -07:00
Matt Borgerson 487cc7f591 ui: Make snapshot Replace button red 2023-06-04 20:24:43 -07:00
Matt Borgerson 386a114c01 ui: Show placeholder text when no snapshots are displayed 2023-06-04 20:24:43 -07:00
Matt Borgerson df7e8c23a2 ui: Use larger font for snapshot search text and create button 2023-06-04 20:24:43 -07:00
Matt Borgerson 6fbb0dfbcd ui: Clarify snapshot search/name placeholder text 2023-06-04 20:24:43 -07:00
Matt Borgerson 0155721cfe ui: Create SnapshotManager, check snapshot disc image path 2023-06-04 20:24:43 -07:00
Matt Borgerson 756e423eac ui: Also clear search regex after creating snapshot 2023-06-04 20:24:43 -07:00
Matt Borgerson 2cc2df0be7 ui: Move all snapshot actions into a context menu 2023-06-04 20:24:43 -07:00
Matt Borgerson a96d0c5f79 ui: Stretch snapshot search box 2023-06-04 20:24:43 -07:00
Matt Borgerson 86cdc0a9ab ui: Use stylized toggle for snapshot filter by title 2023-06-04 20:24:43 -07:00
Matt Borgerson 458de1758a ui: Unify snapshot filter and title name search box 2023-06-04 20:24:43 -07:00
Matt Borgerson 4104b3d540 ui: Change snapshot 'Save' button to 'Replace' for clarity 2023-06-04 20:24:43 -07:00
Matt Borgerson d147280cd1 ui: Drop extra snapshot create button 2023-06-04 20:24:43 -07:00
Matt Borgerson d7cbda5081 ui: Allow clicking snapshot Create button without name 2023-06-04 20:24:43 -07:00
Matt Borgerson f62bfc95e3 ui: Improve extra snapshot data storage
- Store snapshot extra data in BE, per convention
- Add a version field for back compat
- Some minor refactoring and renaming for clarity
2023-06-04 20:24:43 -07:00
Matt Borgerson 60a7f55ac4 ui: Scale snapshot thumbnail placeholder properly 2023-06-04 20:24:43 -07:00
Matt Borgerson 348b45b436 ui: Support widescreen thumbnails 2023-06-04 20:24:43 -07:00
Antonio Abbatangelo 9c9f1e83eb ui: Add snapshot management UI 2023-06-04 20:24:43 -07:00
Matt Borgerson 8bea1e38e5 ui: Fix FilePicker UAF 2023-05-16 22:01:11 +08:00
Antonio Abbatangelo 4a99fd0f18 ui: Add clear button to file picker 2023-03-26 22:20:11 -07:00
Matt Borgerson 6cc30513ac configure, meson: Eliminate redundant gtk check 2023-01-23 00:30:40 -07:00
Matt Borgerson 93b2a408fb main: Cleanup 2023-01-23 00:30:40 -07:00
Matt Borgerson 2e201db096 xemu-hud.h: Add gl.h 2023-01-23 00:30:40 -07:00
Matt Borgerson 426805f0b3 ui/xemu: Specify new force param to qmp_blockdev_change_medium 2023-01-23 00:30:40 -07:00
Matt Borgerson b3fe79bc8a ui/xemu: Drop old display change listener ops 2023-01-23 00:30:40 -07:00
Matt Borgerson bf85019e32 ui/xemu: Specify delay arg to dpy_set_ui_info 2023-01-23 00:30:40 -07:00
Matt Borgerson 8625656510 ui/xemu: Define {ctrl,alt}_grab 2023-01-23 00:30:40 -07:00
Matt Borgerson e9478a6cf3 include: Drop various qemu-common.h imports 2023-01-23 00:30:40 -07:00
Matt Borgerson a198f22981 include: Drop various qemu-common.h imports 2023-01-23 00:30:40 -07:00
Matt Borgerson a46837e8d3 meson: Drop libdl from renderdoc feature 2023-01-23 00:30:40 -07:00
Matt Borgerson 6ea11938b2 v7.2.0 release
-----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmOY5qgACgkQnKSrs4Gr
 c8is4ggAuXF4kEk+y8fUw60ykKytM5XeU3emNUw9EPoULhQgEbL+Zc+hH6ZCpn0b
 Pv+Vb4WjkxvY7dEDwvnsfA0Mu3Othy4B+ON4FebQzEhU3fedTD1owGnLlxBIphFv
 0aURRbhC865PUk3BwHef/Ic06QQNSVL6fOqyqFuQ+bVgktXIMk4VjYofCJ39S6TP
 bc8kWNBKrkxQUWaLH5BF4RSFV4/ghvWO5wjvsF0pbxMtkR3lotR9FHQ+S4UbWGee
 b7mUoPB/qlCWMDRCTZujSmP90mYzZamOS+VbpEJwUDhX1g7ScHu94CMjROuX2l2w
 MWkWVu+92QUUTcNbDrUO9Cun61gkFg==
 =Px/i
 -----END PGP SIGNATURE-----

Merge tag 'v7.2.0' into sync/qemu-7.2.0

v7.2.0 release
2023-01-22 13:17:37 -07:00
wutno 6b0c66c6a1 ui: Add fullscreen exclusive mode 2023-01-17 10:42:06 -07:00
Dongwon Kim 64f1359bd0 ui/gtk: prevent ui lock up when dpy_gl_update called again before current draw event occurs
A warning, "qemu: warning: console: no gl-unblock within" followed by
guest scanout lockup can happen if dpy_gl_update is called in a row
and the second call is made before gd_draw_event scheduled by the first
call is taking place. This is because draw call returns without decrementing
gl_block ref count if the dmabuf was already submitted as shown below.

(gd_gl_area_draw/gd_egl_draw)

        if (dmabuf) {
            if (!dmabuf->draw_submitted) {
                return;
            } else {
                dmabuf->draw_submitted = false;
            }
        }

So it should not schedule any redundant draw event in case draw_submitted is
already set in gd_egl_fluch/gd_gl_area_scanout_flush.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Vivek Kasireddy <vivek.kasireddy@intel.com>
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20221021192315.9110-1-dongwon.kim@intel.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2022-11-23 12:27:55 +01:00
Claudio Fontana 29e0bfffab gtk: disable GTK Clipboard with a new meson option
The GTK Clipboard implementation may cause guest hangs.

Therefore implement new configure switch: --enable-gtk-clipboard,

as a meson option disabled by default, which warns in the help
text about the experimental nature of the feature.
Regenerate the meson build options to include it.

The initialization of the clipboard is gtk.c, as well as the
compilation of gtk-clipboard.c are now conditional on this new
option to be set.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1150
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
Message-Id: <20221121135538.14625-1-cfontana@suse.de>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2022-11-23 12:15:06 +01:00
Amarjargal Gundjalam ef99aa2a31 ui: fix tab indentation
The TABs should be replaced with spaces, to make sure that we have a
consistent coding style with an indentation of 4 spaces everywhere.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/370
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Amarjargal Gundjalam <amarjargal16@gmail.com>
Message-Id: <9a0d0718aafaa52029fad76a149f3200b6bba0dd.1666707782.git.amarjargal16@gmail.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-11-08 10:23:06 +01:00
Claudio Fontana c551fb0b53 module: add Error arguments to module_load and module_load_qom
improve error handling during module load, by changing:

bool module_load(const char *prefix, const char *lib_name);
void module_load_qom(const char *type);

to:

int module_load(const char *prefix, const char *name, Error **errp);
int module_load_qom(const char *type, Error **errp);

where the return value is:

 -1 on module load error, and errp is set with the error
  0 on module or one of its dependencies are not installed
  1 on module load success
  2 on module load success (module already loaded or built-in)

module_load_qom_one has been introduced in:

commit 28457744c3 ("module: qom module support"), which built on top of
module_load_one, but discarded the bool return value. Restore it.

Adapt all callers to emit errors, or ignore them, or fail hard,
as appropriate in each context.

Replace the previous emission of errors via fprintf in _some_ error
conditions with Error and error_report, so as to emit to the appropriate
target.

A memory leak is also fixed as part of the module_load changes.

audio: when attempting to load an audio module, report module load errors.
Note that still for some callers, a single issue may generate multiple
error reports, and this could be improved further.
Regarding the audio code itself, audio_add() seems to ignore errors,
and this should probably be improved.

block: when attempting to load a block module, report module load errors.
For the code paths that already use the Error API, take advantage of those
to report module load errors into the Error parameter.
For the other code paths, we currently emit the error, but this could be
improved further by adding Error parameters to all possible code paths.

console: when attempting to load a display module, report module load errors.

qdev: when creating a new qdev Device object (DeviceState), report load errors.
      If a module cannot be loaded to create that device, now abort execution
      (if no CONFIG_MODULE) or exit (if CONFIG_MODULE).

qom/object.c: when initializing a QOM object, or looking up class_by_name,
              report module load errors.

qtest: when processing the "module_load" qtest command, report errors
       in the load of the module.

Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220929093035.4231-4-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-11-06 09:48:50 +01:00
Claudio Fontana dbc0e80553 module: rename module_load_one to module_load
Signed-off-by: Claudio Fontana <cfontana@suse.de>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20220929093035.4231-3-cfontana@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2022-11-06 09:48:50 +01:00
Volker Rümelin cf6280b99b ui: remove useless typecasts
Commit 8f9abdf586 ("chardev: src buffer const for write functions")
changed the type of the second parameter of qemu_chr_be_write()
from uint8_t * to const uint8_t *. Remove the now useless type
casts from qemu_chr_be_write() function calls in ui/console.c and
ui/gtk.c.

Cc: qemu-trivial@nongnu.org
Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Claudio Fontana <cfontana@suse.de>
Message-Id: <20221022141204.29358-1-vr_qemu@t-online.de>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2022-10-24 13:42:52 +02:00
Bin Meng c1dadb8462 treewide: Remove the unnecessary space before semicolon
%s/return ;/return;

Signed-off-by: Bin Meng <bmeng@tinylab.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Message-Id: <20221024072802.457832-1-bmeng@tinylab.org>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2022-10-24 13:41:10 +02:00
Markus Armbruster 0a553c12c7 Drop useless casts from g_malloc() & friends to pointer
These memory allocation functions return void *, and casting to
another pointer type is useless clutter.  Drop these casts.

If you really want another pointer type, consider g_new().

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20220923120025.448759-3-armbru@redhat.com>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2022-10-22 23:15:40 +02:00
Bryce Mills dbccb1a5a1 gtk: Add show_menubar=on|off command line option.
The patch adds "show_menubar" command line option for GTK UI similar to
"show_tabs". This option allows to hide menu bar initially, it still can
be toggled by shortcut and other shortcuts still work.

Signed-off-by: Bryce Mills <brycemills@proton.me>
Acked-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <NWO_zx1CT5Aj9vAXsRlqBppXd63gcKwL9V1qM1Meh36M_9tCw-EsCnfpvONXhHjmtKIUoSuCy9OO6cHS7M8b0oHBOCZG6f1jZ4Q2tqgI2Qo=@proton.me>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2022-10-12 14:33:54 +02:00
Akihiko Odaki 8af5f82b90 ui/gtk: Fix the implicit mouse ungrabbing logic
Although the grab menu item represents the tabbed displays, the old
implicit mouse ungrabbing logic changes the grab menu item even for
an untabbed display.

Leave the grab menu item when implicitly ungrabbing mouse for an
untabbed display. The new ungrabbing logic introduced in
gd_mouse_mode_change() strictly follows the corresponding grabbing
logic found in gd_button_event().

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20221008140116.11473-1-akihiko.odaki@daynix.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2022-10-12 12:46:34 +02:00
Antonio Abbatangelo 22db3304a4 ui: Display MCPX, BIOS MD5 hashes in About view 2022-10-11 11:35:37 -07:00