stateness can be messed up by using reset/defaults while applying changes

Bug #1311079 reported by Harald Sitter
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
kubuntu-driver-manager (Ubuntu)
Fix Released
Medium
Unassigned
Trusty
Fix Released
Undecided
Unassigned
Utopic
Fix Released
Medium
Unassigned

Bug Description

[Impact]

when using the defaults or reset buttons while changes are being applied (packages installed/removed) the stateness of the GUI can be messed up as the button respectively trigger a rescan of the available/active drivers.

to prevent this the buttons should be turned noop while stuff is active

[Test Case]

* start driver manager
* change driver
* click apply
* click defaults
* nothing should happen

[Regression Potential]

Since the nooping needs to happen in the central load function there is a chance of not having considered all state transitions properly and the GUI not reloading after applying changes. This should be sufficiently tested by repeatedly changing drivers and using reset/defaults without restarting the KCM.

[Other Info]

None

description: updated
Revision history for this message
Harald Sitter (apachelogger) wrote :

works as expected in trusty-proposed

tags: added: verification-done
Changed in kubuntu-driver-manager (Ubuntu Utopic):
status: In Progress → Fix Committed
Changed in kubuntu-driver-manager (Ubuntu Trusty):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package kubuntu-driver-manager - 14.04ubuntu9

---------------
kubuntu-driver-manager (14.04ubuntu9) trusty; urgency=medium

  [ Harald Sitter ]
  * DriverWidget: do not list builtin drivers as not selected.
    + This avoids breaking the system by trying to remove essential packages
      such as xserver-xorg-video-nouveau for being not selected.
    LP: #1311583

  [ Rohan Garg ]
  * Add a apport hook to provide more debug info when reporting bugs

kubuntu-driver-manager (14.04ubuntu8) trusty; urgency=medium

  * Prevent crashes by properly locking the GUI while applying changes
    LP: #1311075
    + New function DriverWidget::setSelectionEnabled, disabling or enabling
      all QAbstractButtons inside the respective DriverWidget, leaving the
      header label unaffected to give a nicer visual experience.
  * Prevent state confusion caused by allowing 'defaults' to trigger a reload
    even when the manager is currently busy applying changes. Since we have
    no button control inside the KCM we simply turn load() noop while the
    manager is active. This is unfortunately not the nicest behavior, however
    the module will reload whenever the manager finishes, so implicitly we
    will simply execute the requested action once the manager is idle again.
    LP: #1311079
    + Introduce new function DriverManager::isActive evaluating the transaction
      pointer (nullptr when idle).
 -- Rohan Garg <email address hidden> Wed, 23 Apr 2014 13:45:47 +0200

Changed in kubuntu-driver-manager (Ubuntu Trusty):
status: Fix Committed → Fix Released
Revision history for this message
Scott Kitterman (kitterman) wrote : Update Released

The verification of the Stable Release Update for kubuntu-driver-manager has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

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

This bug was fixed in the package kubuntu-driver-manager - 14.04ubuntu9

---------------
kubuntu-driver-manager (14.04ubuntu9) trusty; urgency=medium

  [ Harald Sitter ]
  * DriverWidget: do not list builtin drivers as not selected.
    + This avoids breaking the system by trying to remove essential packages
      such as xserver-xorg-video-nouveau for being not selected.
    LP: #1311583

  [ Rohan Garg ]
  * Add a apport hook to provide more debug info when reporting bugs

kubuntu-driver-manager (14.04ubuntu8) trusty; urgency=medium

  * Prevent crashes by properly locking the GUI while applying changes
    LP: #1311075
    + New function DriverWidget::setSelectionEnabled, disabling or enabling
      all QAbstractButtons inside the respective DriverWidget, leaving the
      header label unaffected to give a nicer visual experience.
  * Prevent state confusion caused by allowing 'defaults' to trigger a reload
    even when the manager is currently busy applying changes. Since we have
    no button control inside the KCM we simply turn load() noop while the
    manager is active. This is unfortunately not the nicest behavior, however
    the module will reload whenever the manager finishes, so implicitly we
    will simply execute the requested action once the manager is idle again.
    LP: #1311079
    + Introduce new function DriverManager::isActive evaluating the transaction
      pointer (nullptr when idle).
 -- Rohan Garg <email address hidden> Wed, 23 Apr 2014 13:45:47 +0200

Changed in kubuntu-driver-manager (Ubuntu Utopic):
status: Fix Committed → Fix Released
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.