Problems with Vino's "Disable the wallpaper when connected" option

Bug #266932 reported by Cyphase
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
vino (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: vino

Vino 2.23.91-0ubuntu1 on Intrepid

As far as I can tell, this isn't a programming error, it's a logic error. I have a separate computer running Intrepid, on which Vino is configured to disable the wallpaper if someone is connected. I VNC'ed into it, and the wallpaper was disabled. Then, to try out the latest Vinagre, I VNC'ed from the Intrepid system to the Intrepid system. At this point both my main system and the Intrepid system are VNC'ed into the Intrepid system. When I closed Vinagre on the Intrepid system, Vino restored the wallpaper. Obviously, this isn't the preferred behavior. It should keep it disabled as long as anyone is connected. I tried disabling the "Disable the wallpaper when connected" option, then re-enabling it, but the wallpaper still showed. When I disconnected then reconnected, it hid the wallpaper, and would not show it if I disabled the hide wallpaper option. Also, if I connect, which causes the wallpaper to be disabled, then disable the hide wallpaper option and disconnect, it doesn't re-enable the wallpaper. Here's how I think it should happen, starting with no one connected and wallpaper enabled (although if a user has manually disabled their wallpaper, the below "code" would handle it) (I don't know anything about the Vino code, so I'm just making up function/variable names):

<code>

vinoDisabledWallpaper = false # default value

def ConnectionEstablished(...):
 ...
 if GConf("/desktop/gnome/remote_access/disable_background") == true: # If Vino is set to disable the background
  if IsWallpaperAlreadyDisabled() == true: # If wallpaper is already disabled by the user
   return # Than it's already disabled
  else:
   DisableWallpaper()
   vinoDisabledWallpaper = true # So you know it was disabled by Vino, and not by the user.
         # You wouldn't want to enable the wallpaper if the user had manually disabled it.

def ConnectionTerminated(...):
 ...
 if IsAnyoneConnected() == false && isWallpaperDisabled = true: # If no one is still connected and
              # Vino disabled the wallpaper
  EnableWallpaper() # Even if (especially if) someone disabled the hide wallpaper option, it should enable the wallpaper

def EnableHideWallpaperOption(...): # Enabling the "Disable the wallpaper when connected" option
 ...
 if IsAnyoneConnected() == true: # If someone is connected
  if IsWallpaperAlreadyDisabled() == true: # If wallpaper is already disabled by the user
   return # Than it's already disabled
  else:
   DisableWallpaper()
   vinoDisabledWallpaper = true # So you know it was disabled by Vino, and not by the user.
         # You wouldn't want to enable the wallpaper if the user had manually disabled it.

def DisableHideWallpaperOption(...): # Disabling the "Disable the wallpaper when connected" option
 ...
 if vinoDisabledWallpaper == true:
  EnableWallpaper()
  vinoDisabledWallpaper = false

</code>

Related branches

Cyphase (cyphase)
description: updated
Cyphase (cyphase)
description: updated
Revision history for this message
Jonh Wendell (wendell) wrote :

Thanks for point this out. I just committed the fix upstream. It will be available in 2.24.1 tarball.

Changed in vino:
status: New → Fix Committed
Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

Update in progress :)

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package vino - 2.24.1-0ubuntu1

---------------
vino (2.24.1-0ubuntu1) intrepid; urgency=low

  * New upstream version (LP: #286555)
    - Propagates port changes via avahi. (LP: #264315)
    - Update label in vino-preferences when the port changes.
    - Hopefully fix an window empty bug
    - Only restore the wallpaper when the last client disconnects.
      (LP: #266932)
    - Updated translations: ar, be@latin, bg, it

 -- Didier Roche <email address hidden> Mon, 20 Oct 2008 20:40:59 +0200

Changed in vino:
status: Fix Committed → Fix Released
Revision history for this message
Florin Ivan (florica76) wrote :

I has the same problem with vino

Revision history for this message
realG187 (gamesharkmike) wrote :

I used that option and my wallpaper is gone! I cannot get it back, even after disabling that option!

Revision history for this message
realG187 (gamesharkmike) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.