[haiku-commits] Re: r40685 - haiku/trunk/src/kits/tracker

  • From: Stephan Aßmus <superstippi@xxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sat, 26 Feb 2011 10:19:08 +0100

On 26.02.2011 03:13, Alex Wilson wrote:
On Fri, Feb 25, 2011 at 12:28 PM, <yourpalal2@xxxxxxxxx
<mailto:yourpalal2@xxxxxxxxx>> wrote:

    Author: yourpalal
    Date: 2011-02-25 20:28:27 +0100 (Fri, 25 Feb 2011)
    New Revision: 40685
    Changeset: http://dev.haiku-os.org/changeset/40685
    Ticket: http://dev.haiku-os.org/ticket/5914

    Modified:
       haiku/trunk/src/kits/tracker/StatusWindow.cpp
       haiku/trunk/src/kits/tracker/StatusWindow.h
    Log:
    Fix graphical erros in Tracker's status window by truncating the
    destination path as needed. (Fixes #5914). Also remove fallback
    drawing code for when be_control_look is NULL, as that shouldn't be
    the case ever.


  After this change, the Tracker status window freezes when you pause an
action. However, I tried to only touch graphical code (and I think I
succeeded) so this is a bit strange. With a bit of debugging, I managed
to find some suspicious code at
http://dev.haiku-os.org/browser/haiku/trunk/src/kits/tracker/StatusWindow.cpp#L382
 .
The problem I see with this code is that the current thread is
suspended, but it still holds the BWindow's lock. By releasing the lock
before calling suspend_thread, the status window remains responsive.
However, I'm hesitant to commit that change, as I feel I might be
missing part of the big picture, since this problem seems to stem from
my changes. Anyone care to take a look?

I remember having stared at this code in wonder before, but I have no clue what kind of conclusion I arrived at. :-\

Best regards,
-Stephan


Other related posts: