Pressing 'delete' key with no task highlighted creates a new task

Bug #583103 reported by Feathertail
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
GTG
Fix Released
Low
Jeff Oliver
gtg (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

Binary package hint: gtg

PROBLEM ENCOUNTERED

Pressing the "delete" key when no task is highlighted has the unexpected behavior of creating a new task.

HOW TO REPRODUCE

1. Open the main tasks window.
2. With no task highlighted, press the "delete" key.
3. An window will open with the "Are you sure you want to delete this task?" dialog, for a task called "- My New Task". At the same time, a task called My New Task will be created in the main tasks window (visible behind the dialog).
4. Click on either option or hit enter. It doesn't matter. The new task is still there.

EXPECTED BEHAVIOR

Pressing delete with no task highlighted will have no effect,
AND POSSIBLY after you have deleted one task, the next one in line will be highlighted.

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: gtg 0.2.4-1ubuntu1
ProcVersionSignature: Ubuntu 2.6.32-22.33-generic 2.6.32.11+drm33.2
Uname: Linux 2.6.32-22-generic i686
Architecture: i386
Date: Wed May 19 19:14:44 2010
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release i386 (20100429)
PackageArchitecture: all
ProcEnviron:
 LANG=en_US.utf8
 SHELL=/bin/bash
SourcePackage: gtg

Revision history for this message
Feathertail (feathertail-deactivatedaccount) wrote :
Changed in gtg (Ubuntu):
status: New → Confirmed
importance: Undecided → Low
importance: Low → Undecided
status: Confirmed → New
Changed in gtg:
status: New → Confirmed
milestone: none → 0.3
importance: Undecided → Low
Changed in gtg (Ubuntu):
importance: Undecided → Low
status: New → Triaged
Changed in gtg:
status: Confirmed → Triaged
Revision history for this message
Jeff Oliver (jeffrey-oliver) wrote :

I don't get the same behavior as described above with rev 821, instead I get a traceback.

get_task should take a tid
Traceback (most recent call last):
  File "/home/oliverj/workspace/gtg/fix-export/GTG/gtk/browser/browser.py", line 1052, in on_task_treeview_key_press_event
    self.on_delete_tasks()
  File "/home/oliverj/workspace/gtg/fix-export/GTG/gtk/browser/browser.py", line 1110, in on_delete_tasks
    self.vmanager.ask_delete_tasks(tids_todelete)
  File "/home/oliverj/workspace/gtg/fix-export/GTG/gtk/manager.py", line 201, in ask_delete_tasks
    if self.delete_dialog.delete_tasks(tids):
  File "/home/oliverj/workspace/gtg/fix-export/GTG/gtk/delete_dialog.py", line 79, in delete_tasks
    recursive_list_tasks(tasks, task)
  File "/home/oliverj/workspace/gtg/fix-export/GTG/gtk/delete_dialog.py", line 76, in recursive_list_tasks
    for i in root.get_subtasks():
AttributeError: 'NoneType' object has no attribute 'get_subtasks'

I attached a patch to fix the crash.

tags: added: patch
Revision history for this message
Bryce Harrington (bryce) wrote :

Yep, this is reproducible on current trunk. Here's the backtrace I got:

2010-08-03 17:25:25,539 - DEBUG - browser:on_task_treeview_button_press_event:1035 - Received button event #1 at 361,338
2010-08-03 17:25:26,903 - DEBUG - browser:on_delete_tasks:1109 - going to delete [None]
2010-08-03 17:25:26,905 - DEBUG - datastore:get_task:126 - requested non-existent task
Traceback (most recent call last):
  File "/home/bryce/src/gtg/gtg/GTG/gtk/browser/browser.py", line 1054, in on_task_treeview_key_press_event
    self.on_delete_tasks()
  File "/home/bryce/src/gtg/gtg/GTG/gtk/browser/browser.py", line 1110, in on_delete_tasks
    self.vmanager.ask_delete_tasks(tids_todelete)
  File "/home/bryce/src/gtg/gtg/GTG/gtk/manager.py", line 208, in ask_delete_tasks
    if self.delete_dialog.delete_tasks(tids):
  File "/home/bryce/src/gtg/gtg/GTG/gtk/delete_dialog.py", line 95, in delete_tasks
    recursive_list_tasks(tasks, task)
  File "/home/bryce/src/gtg/gtg/GTG/gtk/delete_dialog.py", line 92, in recursive_list_tasks
    for i in root.get_subtasks():
AttributeError: 'NoneType' object has no attribute 'get_subtasks'

Revision history for this message
Bryce Harrington (bryce) wrote :

Can also confirm that Jeff's patch solves the issue. Nice work Jeff.

Revision history for this message
Bryce Harrington (bryce) wrote :

Jeff, thank you for the patch, I've committed it to bzr trunk as revision 862. It will be included in the 0.3 gtg release.

Since the bug does not appear to cause the program to exit or result in any data loss, it probably is not going to qualify for a SRU for Ubuntu Lucid. But hopefully 0.3 will be included in Ubuntu Maverick.

Changed in gtg:
status: Triaged → Fix Committed
tags: added: patch-accepted-upstream
removed: patch
Changed in gtg:
assignee: nobody → Jeff Oliver (jeffrey-oliver)
Changed in gtg:
milestone: 0.3 → 0.2.9
Izidor Matušov (izidor)
Changed in gtg:
status: Fix Committed → Fix Released
Changed in gtg (Ubuntu):
status: Triaged → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gtg - 0.2.9-1

---------------
gtg (0.2.9-1) unstable; urgency=low

  * New upstream release (Closes: #668096).
    - Implement a search text box (Closes: #650279).
    - Window title reflects active tasks (LP: #537096).
    - Fix misbehaviours of the indicator applet (LP: #548836, #676353).
    - Fix crash when selecting notification area plugin twice (LP: #550321).
    - Fix sorting of tasks by date (LP: #556159).
    - Fix excessive delays at startup (LP: #558600).
    - Fix crash with dates having unknown values (LP: #561449).
    - Fix crash issued when pressing delete key (LP: #583103).
    - Keep notification plugin enabled after logoff (LP: #617257).
    - Fix Hamster plugin to work with recent Hamster versions (LP: #620313).
    - No longer use non-unicode strings (LP: #680632).
    - New RTM sync mechanism (LP: #753327).
    - Fix crashes while handling XML storage file (LP: #916474, #917634).
  * debian/patches/*:
    - Drop all patches, they have been merged upstream.
  * debian/patches/shebang.patch:
    - Fix shebang line.
  * debian/patches/manpages.patch:
    - Fix some groff warnings in gtg_new_task man page
  * debian/compat:
    - Bump compatibility level to 9.
  * debian/control:
    - Bump X-Python-Version to >= 2.6.
    - Add python-liblarch and python-liblarch-gtk to Depends field.
    - Add python-cheetah, python-geoclue, python-gnomekeyring,
      python-launchpadlib and python-suds to Suggests field.
    - Bump Standards-Version to 3.9.3.
  * debian/copyright:
    - Refresh copyright information.
    - Format now points to copyright-format site.
  * debian/rules:
    - Make gtcli_bash_completion script executable.
  * debian/watch:
    - Update watch file.

 -- Luca Falavigna <email address hidden> Tue, 10 Apr 2012 23:08:21 +0200

Changed in gtg (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers