summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* spice: avoid rounding issues when scaling up displayMarc-André Lureau2012-10-172-4/+5
| | | | | | | | | | | | Fix some unwanted guest resize due to rounding issues (at least when scaling up) We may want to save the original remote desktop size, instead of always checking widget requisition. That way zooming shouldn't resize guest at all, but it seems tricky to handle that special case vs user window resize that should trigger guest resize. https://bugzilla.redhat.com/show_bug.cgi?id=856678
* Do not resize window to minimum when toggling auto-resizeMarc-André Lureau2012-10-161-6/+7
| | | | | | | | | | | | | | | The virt_viewer_display_idle() will queue a resize event that will result in display size requisition of 50x50. If we later resize the window to 1x1 in virt_viewer_window_resize() we end up with a tiny window. It is legitimate not to force that 1x1 window resize when toggling the option. After the rest of the logic in virt_viewer_window_resize(), if the remote desktop ends up being resize, that will trigger another virt_viewer_set_desktop_size() and finally change the window size appropriately. https://bugzilla.redhat.com/show_bug.cgi?id=856610
* Fix check for IPv6 any addressDaniel P. Berrange2012-10-101-3/+22
| | | | | | | | | | The string '::' is just one of many possible ways to express the IPv6 "any" address. Others include '::0', '0:0:0:0:0:0:0:0', '0::0' and more. Instead of trying to do strcmp, actually try parsing the address with GInetAddress and then simply use an accessor to check what type it is Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Allow user to set a window title for remote-viewerDaniel P. Berrange2012-10-095-8/+31
| | | | | | | | | Currently the remote viewer windows get the URI as their title. Provide a --title STRING arg to remote-viewer to let the user override the title with something more meaningful to them. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Don't free SPICE ticket twiceChristophe Fergeau2012-10-011-1/+0
| | | | | | | Commit 2201a5a was supposed to free a SPICE ticket leak, but it's actually introducing a double-free as the SPICE ticket is unconditionally freed at the end of virt_viewer_session_spice_main_channel_event
* Append \n to message in virt_viewer_app_traceChristophe Fergeau2012-09-182-12/+13
| | | | | | | Callers manually add a trailing \n when they call virt_viewer_app_trace, but it's sometimes forgotten, leading to rhbz#822794. This commit removes the \n from all callers (it was missing in a few of them) and adds it in virt_viewer_app_trace.
* Use a more specific regex to fix enum include pathsDaniel P. Berrange2012-09-141-1/+1
| | | | | | Simply doing a search replace on $(srcdir) doesn't work very well in non-VPATH builds. Use a more specific regex that won't generate false matches
* Look in builddir for icons & strip build dir prefix from enum file includsDaniel P. Berrange2012-09-141-2/+4
|
* Document -f=auto-conf in remote-viewer --helpChristophe Fergeau2012-08-131-1/+1
| | | | | | virt-viewer does not support -f=auto-conf so this does not change the option there. Fixes rhbz#718001
* Use real binary name in help messageChristophe Fergeau2012-08-102-7/+15
| | | | | | | | | | | | Now that we have 2 distinct binaries, remote-viewer and virt-viewer, 'PACKAGE' can no longer be used in error messages as the name of the binary. This causes a small inconsistency when running 'remote-viewer --foobar' as the error message would be: 'Unknown option --foobar Run 'virt-viewer --help' to see a full list of available command line options' This commit makes sure we use argv[0] for this message. Fixes rhbz#814150
* Show status page by default if display not readyMarc-André Lureau2012-07-231-1/+5
| | | | Switch back to status page if display is not ready.
* Make status widget visible immediatelyMarc-André Lureau2012-07-231-0/+1
| | | | | | | | | | GtkNotebook will use the currently visible widget as default page. If we don't show status widget before we append the display, the current page will be on display. Quoting Gtk+ documentation: "Note that due to historical reasons, GtkNotebook refuses to switch to a page unless the child widget is visible. Therefore, it is recommended to show child widgets before adding them to a notebook."
* vnc: when session is disconnected, make the display as non-readyMarc-André Lureau2012-07-231-3/+3
|
* Simplify display flag handlingMarc-André Lureau2012-07-234-20/+13
|
* Add VirtViewerSession::session-display-updatedMarc-André Lureau2012-07-234-4/+34
| | | | | Rebuild menu when agent is connected. Only when the agent is running may a display be enabled/disabled.
* Make the display submenu insensitive if display can't be selectedMarc-André Lureau2012-07-231-1/+17
|
* spice: factor out main channel lookup codeMarc-André Lureau2012-07-231-5/+17
|
* Add VirtViewerDisplay::selectable propertyMarc-André Lureau2012-07-233-0/+41
| | | | | | | This property will be set when the display can be selected to be "enabled" and shown (this can involve creating/connecting an additional guest monitor, and may need guest agent cooperation for example).
* Add virt_viewer_window_get_display()Marc-André Lureau2012-07-232-2/+12
| | | | Getter used in following changes.
* Hook up handling of MonitorsMarc-André Lureau2012-07-233-19/+92
| | | | | | Rely on spice-gtk display channel monitors property to manage displays. The same display channel may now provide several monitors, the SpiceDisplay widget must be told which monitor to display
* Bump glib > 2.22, add compat fileMarc-André Lureau2012-07-232-0/+57
| | | | | We use API from 2.22, and some from further version. Add virt-glib-compat.h fallback file for those.
* 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
|