Fix crash when cups returns jobs with duplicate id

Authored by aacid on Dec 2 2019, 10:04 PM.

Description

Fix crash when cups returns jobs with duplicate id

Summary:
For some reason my cups was giving me two withheld jobs with id 33 and two with id 40

That made the JobModel code crash, because it went like this

  • First job with id 33 found
  • insertRow with 0 called
  • Row 0 inserted
  • Job at row 0 updated (from inside insertRow)
  • Second job with id 33 found
  • The "oh i already have this job code triggers", updates the job, then takesRow 0 and inserts at row 1. QStandardItemModel doesn't like getting a row add at 1 inserted when empty
  • First job with id 40 found
  • insertRow with 2 called
  • Row 2 inserted, it fails, QStandardItemModel doesn't like getting a row add at 2 when empty
  • Job at row 2 updated (from iniside insertRow)
  • Crash because there's no row 2 in the model

BUGS: 326289

Test Plan: Doesn't crash anymore with my weird cups list of pending jobs

Reviewers: dantti

Reviewed By: dantti

Subscribers: ngraham, marcelm, fvogt, broulik, nicolasfella, kmaterka, kde-utils-devel

Differential Revision: https://phabricator.kde.org/D25623

Details

Committed
aacidDec 2 2019, 10:05 PM
Reviewer
dantti
Differential Revision
D25623: Fix crash when cups returns jobs with duplicate id
Parents
R363:c86dd429f77c: SVN_SILENT made messages (.desktop file) - always resolve ours
Branches
Unknown
Tags
Unknown