[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 259483] Checked chunks line displays uncorrectly
From:       Alexey Shildyakov <ashl1future () gmail ! com>
Date:       2011-01-31 22:23:35
Message-ID: 20110131222335.A3BBB7CF5A () immanuel ! kde ! org
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=259483





--- Comment #16 from Alexey Shildyakov <ashl1future gmail com>  2011-01-31 23:23:34 ---
Ok. I try to clarify the problem.
You expect that extenders will hide in ViewModel::update(ViewDelegate*
delegate,bool force_resort):382.
Callback:
ViewManager::onCurrentTabChanged(QWidget* tab):264
View::update():140

They are not.
The situation when in tab 2 (Active torrents) there are no torrent actually
active.
Local variable "hidden" is true for discussed torrent because the group "Active
torrents" has no torrents.
Also Item::hidden is true.
So the result of expression at 376 is false. And hide action isn't executed at
382.
Also I noticed that the torrent in tab 2 (from ViewModel::torrents) hasn't been
updated (it's been updated in tab 1), beacsue has wrong status
"bt::ALLOCATING_DISKSPACE", and not updated info (bytes_downloaded,
bytes_uploaded, etc).
So, the problem I think is: we start torrent in tab 1, the torrent became
visible in tab 2 (because it will be downloaded and active). The torrent in tab
2 didn't change hidden value, but the extender started. Then KTorrent didn't
change the value because expect that the torrent already changed status to
hidden and hide extender.

There are 2 solutions:
1. Try to hide extenders for all torrents (otside "if" statement at 376-383)
2. Correctly update actual infromation (Item object) for torrents after
changing tab.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic