summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Use SpiceDisplay:ready property instead of channel markMarc-André Lureau2012-07-231-23/+15
| | | | | | The display can now check several conditions before the display can be shown, use that instead of display mark, which was not high-level enough.
* Number display starting from 1Marc-André Lureau2012-07-231-1/+1
|
* Prevent from adding the same display several time in the sessionMarc-André Lureau2012-07-231-0/+3
| | | | | In virt_viewer_session_spice_display_monitors(), we (re)add the display unconditionnaly every time we receive a new MonitorConfig.
* Add a DISABLED display hintMarc-André Lureau2012-07-235-5/+56
| | | | | | | | This flag will help to track whether the display has been removed/closed and whether it really has a valid display. Ready in contrast, is used to "hide" temporarily the display (when starting or redrawing the display, to avoid artifacts)
* Use virt_viewer_connect_object() for displayMarc-André Lureau2012-07-232-14/+14
| | | | | | | When display is released, detach signal automatically. Fix various crash related to not cleaning up signal handlers properly, due to no longer 1-1 only relation between display widget and channel.
* Rebuild display menu when a window is added or removedMarc-André Lureau2012-07-231-0/+3
|
* Mark a menu string as translatableMarc-André Lureau2012-07-231-1/+1
|
* Run-time check values before doing bad computationMarc-André Lureau2012-07-232-1/+10
|
* Turn display:show-hint into flags typeMarc-André Lureau2012-07-234-18/+29
|
* Destroy dialog immediately after runMarc-André Lureau2012-07-231-1/+1
| | | | | If the parent is already destroyed, it looks like the dialog is destroyed too. This avoids a crash when calling app_quit().
* build: generate enums type boilerplateMarc-André Lureau2012-07-233-3/+121
|
* spice: disconnect signal handlers when either object is destroyedMarc-André Lureau2012-07-233-14/+135
| | | | | | | | | | | Use virt_viewer_signal_connect_object(), a copy of telepathy utility function tp_g_signal_connect_object(). This function will take care of removing signal handler if any of emitter or attached object are destroyed. The following patches will have this condition met, since there is no longer 1-1 relation between channel and display. The channels can continue to be around when some of the display are removed.
* spice: improve fullscreen=auto-confMarc-André Lureau2012-07-231-0/+4
| | | | | Do keep client monitor position, do not align monitors automatically. The align property is only available since v0.12.101.
* Revert "Fix virt_viewer_app_activate return value"Christophe Fergeau2012-06-151-7/+4
| | | | | | | This reverts commit 3ce6df7c309068f36e2602692da809a153ed5688. This commit broke virt-viewer which expects this function to return -1 or 0 on error, and a positive value on success in virt_viewer_initial_connect.
* Fix virt_viewer_app_activate return valueChristophe Fergeau2012-06-131-4/+7
| | | | | | | | VirtViewerApp::activate is expected to return -1 on errors. It calls the VirtViewerSession::open_* methods, which return FALSE on error. However, VirtViewerApp::activate directly returns these boolean instead of testing the returned value and properly returning -1 on errors. This caused errors in these open methodes to be ignored.
* Fix various memory leaksChristophe Fergeau2012-06-134-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ==25063== 59 bytes in 1 blocks are definitely lost in loss record 5,163 of 9,502 ==25063== at 0x4A0884D: malloc (vg_replace_malloc.c:263) ==25063== by 0x3DE384D2BE: g_malloc (gmem.c:159) ==25063== by 0x3DE3862D0B: g_strdup (gstrfuncs.c:356) ==25063== by 0x41F40A: connected (remote-viewer-main.c:186) ==25063== by 0x3DE400F663: g_closure_invoke (gclosure.c:777) ==25063== by 0x3DE40206D7: signal_emit_unlocked_R (gsignal.c:3547) ==25063== by 0x3DE402866C: g_signal_emit_valist (gsignal.c:3296) ==25063== by 0x3DE4028CCF: g_signal_emit_by_name (gsignal.c:3389) ==25063== by 0x41AA53: reemit_signal_VOID (virt-viewer-session-ovirt.c:211) ==25063== by 0x3DE400F942: _g_closure_invoke_va (gclosure.c:840) ==25063== by 0x3DE4027D87: g_signal_emit_valist (gsignal.c:3207) ==25063== by 0x3DE4028CCF: g_signal_emit_by_name (gsignal.c:3389) ==25063== 14 bytes in 1 blocks are definitely lost in loss record 623 of 9,502 ==25063== at 0x4A0884D: malloc (vg_replace_malloc.c:263) ==25063== by 0x34561092F7: __vasprintf_chk (vasprintf_chk.c:82) ==25063== by 0x3DE3882F1A: g_vasprintf (stdio2.h:199) ==25063== by 0x3DE3862EDC: g_strdup_vprintf (gstrfuncs.c:509) ==25063== by 0x3DE3862F7B: g_strdup_printf (gstrfuncs.c:535) ==25063== by 0x40CBAE: virt_viewer_app_update_pretty_address (virt-viewer-app.c:1538) ==25063== by 0x40FB55: virt_viewer_app_free_connect_info (virt-viewer-app.c:1707) ==25063== by 0x40FBE9: virt_viewer_app_dispose (virt-viewer-app.c:1291) ==25063== by 0x3DE40144F7: g_object_unref (gobject.c:2981) ==25063== by 0x40C31A: main (remote-viewer-main.c:336) ==25063== 10 bytes in 1 blocks are definitely lost in loss record 491 of 9,502 ==25063== at 0x4A0884D: malloc (vg_replace_malloc.c:263) ==25063== by 0x34561092F7: __vasprintf_chk (vasprintf_chk.c:82) ==25063== by 0x3DE3882F1A: g_vasprintf (stdio2.h:199) ==25063== by 0x3DE3862EDC: g_strdup_vprintf (gstrfuncs.c:509) ==25063== by 0x3DE3862F7B: g_strdup_printf (gstrfuncs.c:535) ==25063== by 0x40DE36: window_update_menu_displays_cb (virt-viewer-app.c:1640) ==25063== by 0x3DE383833F: g_hash_table_foreach (ghash.c:1524) ==25063== by 0x3DE400F663: g_closure_invoke (gclosure.c:777) ==25063== by 0x3DE40206D7: signal_emit_unlocked_R (gsignal.c:3547) ==25063== by 0x3DE402866C: g_signal_emit_valist (gsignal.c:3296) ==25063== by 0x3DE40287C1: g_signal_emit (gsignal.c:3352) ==25063== by 0x5772F95: gtk_widget_show (gtkwidget.c:3225) ==25063== 8,431 (72 direct, 8,359 indirect) bytes in 1 blocks are definitely lost in loss record 9,468 of 9,502 ==25063== at 0x4A0884D: malloc (vg_replace_malloc.c:263) ==25063== by 0x3DE384D2BE: g_malloc (gmem.c:159) ==25063== by 0x3DE38616B1: g_slice_alloc (gslice.c:1003) ==25063== by 0x3DE3861C05: g_slice_alloc0 (gslice.c:1029) ==25063== by 0x3DE402F96F: g_type_create_instance (gtype.c:1872) ==25063== by 0x3DE40147A7: g_object_constructor (gobject.c:1849) ==25063== by 0x3DE4016260: g_object_newv (gobject.c:1632) ==25063== by 0x3DE40168AB: g_object_new (gobject.c:1542) ==25063== by 0x40C4BD: virt_viewer_util_load_ui (virt-viewer-util.c:41) ==25063== by 0x40C7EB: virt_viewer_auth_collect_credentials (virt-viewer-auth.c:43) ==25063== by 0x41B391: authenticate_cb (virt-viewer-session-ovirt.c:430) ==25063== by 0x3458C05E8F: ffi_call_unix64 (unix64.S:75) ==25063== 32 (16 direct, 16 indirect) bytes in 1 blocks are definitely lost in loss record 3,962 of 9,502 ==25063== at 0x4A0884D: malloc (vg_replace_malloc.c:263) ==25063== by 0x3DE384D2BE: g_malloc (gmem.c:159) ==25063== by 0x3DE38616B1: g_slice_alloc (gslice.c:1003) ==25063== by 0x3DE38629F2: g_slist_append (gslist.c:222) ==25063== by 0x41483C: virt_viewer_window_init (virt-viewer-window.c:323) ==25063== by 0x3DE402FA05: g_type_create_instance (gtype.c:1892) ==25063== by 0x3DE40147A7: g_object_constructor (gobject.c:1849) ==25063== by 0x3DE4015D70: g_object_newv (gobject.c:1713) ==25063== by 0x3DE401655F: g_object_new_valist (gobject.c:1830) ==25063== by 0x3DE4016893: g_object_new (gobject.c:1545) ==25063== by 0x40DA34: virt_viewer_app_window_new (virt-viewer-app.c:590) ==25063== by 0x40E300: virt_viewer_app_constructor (virt-viewer-app.c:1336) ==30355== 4 bytes in 1 blocks are definitely lost in loss record 53 of 9,267 ==30355== at 0x4A0884D: malloc (vg_replace_malloc.c:263) ==30355== by 0x3DE384D2BE: g_malloc (gmem.c:159) ==30355== by 0x3DE3862D0B: g_strdup (gstrfuncs.c:356) ==30355== by 0x3DE40360FC: value_copy_string (gvaluetypes.c:276) ==30355== by 0x3DE40340CA: g_value_transform (gvalue.c:535) ==30355== by 0x3FDAE621DD: gdk_screen_get_setting (gdkevents-x11.c:3022) ==30355== by 0x3FDB3C7415: gtk_settings_get_property (gtksettings.c:1152) ==30355== by 0x3DE4017A74: g_object_get_property (gobject.c:1289) ==30355== by 0x414991: virt_viewer_window_disable_modifiers (virt-viewer-window.c:616) ==30355== by 0x415922: virt_viewer_window_keyboard_grab (virt-viewer-window.c:931) ==30355== by 0x3DE400F942: _g_closure_invoke_va (gclosure.c:840) ==30355== by 0x3DE4027D87: g_signal_emit_valist (gsignal.c:3207)
* Don't leak SPICE ticketChristophe Fergeau2012-06-131-0/+1
|
* spice: use weak references to display channelMarc-André Lureau2012-05-173-16/+15
| | | | | | | | | | | | Fix switch-host migration with Spice. spice-gtk doesn't like channels staying around when they should be destroyed/finalized, ie removed from session. spice-gtk should probably learned to handle better the case of non cooperating clients, and be able to dissociate a channel from a session without waiting for it to be disposed, but for now, the relation is quite tight.
* Avoid use of deprecated GTK3 pointer APIsv0.5.3Daniel P. Berrange2012-05-151-1/+12
| | | | | | | | The gtk_widget_get_pointer() API is deprecated in GTK3 since it is not aware of multiple pointers. Replace its usage in autoDrawer.c with GdkDeviceManager and friends Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Adapt to avoid use of deprecated GTK3 style & size APIsDaniel P. Berrange2012-05-151-2/+18
| | | | | | | | The GtkStyle API has been deprecated in favour of GtkStyleContext. Update ovBox.c to use the latter if building with GtK3. Also replace use of the gtk_widget_size_request API with gtk_widget_get_preferred_size. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* dist: ship .ico in tarballMarc-André Lureau2012-05-141-2/+2
| | | | | | | | | Some distros (a 4-letters) don't have icotool. Let's ship the .ico in the tarball. The build will fail if icoutil is not installed when building from git or when the .ico is absent. The error should be explicit.
* Avoid race condition when disposing of appDaniel P. Berrange2012-05-081-1/+7
| | | | | | | | | | | When disposing of the VirtViewerApp, we free the hash table containing the windows. This causes each window to be freed, which in turn causes the visibility callback to be invoked. This can then get NULL pointers from the self->priv->windows usage. Blank out priv->windows before unrefing the hashs and add a check to ensure priv->windows is non-NULL.
* Ensure windows are destroyed when display closesDaniel P. Berrange2012-05-044-1/+18
| | | | | | | | | | | When running virt-viewer with the --reconnect argument, when the session closes, the VirtViewerWindow instances were being freed, but not the GtkWindow itself. So the orphaned window stayed around doing nothing. The GtkBuilder instance was also leaked. Fix these two leaks & also add some debugging to help future troubleshooting
* Change 'OK' button to 'Close' button in USB device selectionDaniel P. Berrange2012-05-021-1/+1
| | | | | The USB device selection applies immediately, so the dialog should be using 'Close' instead of 'OK' for its primary button
* g_getenv returns a const stringChristophe Fergeau2012-04-271-1/+1
| | | | | | When switching from getenv to g_getenv, 'doms' declaration wasn't changed from char * to const char *, which causes a gcc warning.
* Replace getenv/setenv with g_getenv/g_setenv for Win32 portabilityDaniel P. Berrange2012-04-261-3/+3
|
* Add debugging when performing fullscreen auto-configurationDaniel P. Berrange2012-04-251-1/+8
|
* Really fix debug output on glib >= 2.31Daniel P. Berrange2012-04-251-0/+12
|
* Fix debug output on glib >= 2.31Daniel P. Berrange2012-04-251-0/+2
|
* Set the remote-viewer binary application nameDaniel P. Berrange2012-04-231-0/+2
| | | | | | | Currently the window titles for remote-view have 'remote-viewer' appended them. This is based off the argv[0] name. We should be setting the GLib application name though, so we can get a localized 'Remote Viewer' string in the titlebar
* Add support for raw IPv6 addresses in VNC & libvirt URIsDaniel P. Berrange2012-04-232-4/+27
| | | | | | Support vnc://[x:y:z:]:5901/ for raw IPv6 addresses in URIs, and qemu+ssh://root@[x:y:x:]:22/ for raw IPv6 addresses in libvirt URIs
* Fix scaling of window to avoid integer truncationDaniel P. Berrange2012-04-192-2/+5
| | | | | Use round() instead of integer truncation when scaling the window, to avoid floating point precision problems on i386
* Add a desktop file for launching remote-viewerDaniel P. Berrange2012-04-182-0/+11
| | | | | | Enable automagic handling of spice:// URLs in firefox by registering a desktop handler for remote-viewer with the SPICE URI scheme
* Fix automatic usb redir through controllerChristophe Fergeau2012-04-171-5/+5
| | | | | | | | | | | | | | | | | | remote-viewer is currently trying to use SpiceUsbDeviceManager::auto-connect to control whether USB devices should be automatically connected or not. However, this property is more or less an internal spice-gtk property which is toggled by SpiceGtkSession when the SPICE widget gets/loses focus. SpiceGtkSession has an "auto-usbredir" property which can be used by applications to enable/disable automatic usb redirection through SPICE. Since this property is helpfully bound to VirtViewerSession::auto-usbredir, use this when the controller is told to enable/disable USB redirection. Without this change, automatic USB redirection will always get reenabled as soon as there's a focus change since SpiceGtkSession::auto-usbredir defaults to be enabled in spice-gtk.
* Minor simplification/optimization of VirtViewerDisplayZeeshan Ali (Khattak)2012-04-051-9/+5
|
* Fix typo in variable names for Win32 command helperDaniel P. Berrange2012-04-041-2/+2
|
* Fix close of VNC displaysDaniel P. Berrange2012-04-047-3/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When clicking the close button on a virt-viewer window with a VNC session open, while the VNC session terminates, the window does not go away. The problem is that the virt_viewer_session_vnc_disconnected method never gets invoked. The close button triggers a call to virt_viewer_session_clear_displays which unrefs the VirtViewerDisplayVnc instance. This in turn triggers a call to gtk_container_destroy, which destroys all widgets it contains, ie the VncDisplay * object. With the VncDisplay object in its dispose phase, no signals will ever be emitted, thus the 'vnc-disconnected' signal never gets seen. The design issue is that VirtViewerDisplayVnc is assuming it owns the VncDisplay, whereas in fact the real owner is the VirtViewerSessionVnc object. The solution is to introduce a new virt_viewer_display_close method which can be used to de-parent the widget before VirtViewerDisplay is unref'd. The VirtViewerSessionVnc object also needs to hold a full ref on the VncDisplay object, not merely a floating reference * virt-viewer-display-spice.c, virt-viewer-display.c, virt-viewer-display.h: Add virt_viewer_display_close * virt-viewer-display-vnc.c: Deparent VNC widget in virt_viewer_display_close impl * virt-viewer-session-vnc.c: Improve logging * virt-viewer-session.c: Call virt_viewer_display_close before unrefing display * virt-viewer-window.c: Improve logging Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Propagate USB redirection controller messagesChristophe Fergeau2012-04-041-1/+16
|
* Add support for the SPICE properties disable-effects & color-depthYonit Halperin2012-04-031-1/+3
| | | | | Signed-off-by: Yonit Halperin <yhalperi@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* build-sys: fix Windows specific LDFLAGS on non-mingwChristophe Fergeau2012-04-031-1/+3
|
* remote-viewer: make it a GUI/windows application with hybrid consoleMarc-André Lureau2012-04-022-0/+16
| | | | | If the application can attach to its parent console, redirect input/output. So that will work nicely with the command line wrapper.
* Add a Windows command line wrapperMarc-André Lureau2012-04-022-0/+95
| | | | Add a small command line wrapper, to be able to call GUI/windows application from the console
* Disable mnemonics via gtk-enable-mnemonics settingsMarc-André Lureau2012-04-011-33/+10
| | | | | | | This has 2 advantages, and I can't figure any drawback: - it fixes the issue of mnemonic hints being draw when pressing Alt key (character underlined), even when they were disabled. - it simplifies the code :)
* Disable menu items that would fail when there is no displayMarc-André Lureau2012-04-011-0/+18
|
* build-sys: use git.mk to generate gitignoreMarc-André Lureau2012-03-301-0/+2
| | | | | | | | This makefile is just fantastic, it forces you into good practices, support various build targets (my windows builddir ignore the right files etc..) The more I use it, the more I like it.
* win32: add a few Windows sepecific dataMarc-André Lureau2012-03-303-0/+55
| | | | Add application icon and manifest
* Fix recent --spice-controller regression, add error messageMarc-André Lureau2012-03-301-3/+10
| | | | | | | | | The current code will attempt to dereference args if --spice-controller, even if args is NULL. Let's not accept any extra argument/uri on the command line if using the controller. Beside, the conditionnal block looks better outside of the if condition.
* usbredir: listen for device-error signalHans de Goede2012-03-291-1/+4
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* remote-viewer: press Enter to connect in dialogMarc-André Lureau2012-03-291-0/+1
|
* Remove unused variable iMarc-André Lureau2012-03-291-3/+3
|