longer hold the window lock. There is now a lock that guards screen changes
in particular. This fixes the deadlocks seen in apps using BDirectWindow.
* All direct window handling now sits in the Desktop class -
ServerWindow::HandleDirectConnection() is never called from anywhere else
anymore. Furthermore, it's now only called when actually needed.
* Resize/move actions now always send a B_CLIPPING_MODIFIED flag, too.
* When the screen changed, the driver state is supposed to be B_MODE_CHANGED,
not B_SCREEN_CHANGED (which is a message constant).
* Direct windows are no longer suspended too late on screen changes.
* Removed unused members of DirectWindowData, and cleaned it up a bit.
* Made MultiLocker's default, and copy constructors private - I accidently
used them, causing the ASSERT_MULTI_*LOCKED() macros to fail.
* Added Unlock() to AutoWriteLocker as well.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32742 a95241bf-73f2-0310-859d-f6bbb57e9c96
Unconditionally release the reader sem when the previous buffer size was 0
instead of testing for fParserWaiting as there is a race condition between
setting it to true in the parser thread and checking for it in the reader
thread so a release_sem() could be missed causing #4343. To reduce the possible
side effect of needlessly looping through acquire_sem() for too many
unconditionally released sems, we eat them in the parser thread once we're sure
we can't miss an event because of that. Also added a TODO about a memcpy()
optimization as pointed out by Rene.
+alphabranch
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32733 a95241bf-73f2-0310-859d-f6bbb57e9c96
media present they will always fail with the no media or media changed errors.
+alphabranch
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32732 a95241bf-73f2-0310-859d-f6bbb57e9c96
don't try to use it for media status polling. In those cases we'll assume a
fixed device with no exchangable medias and therefore always return B_OK.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32731 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Code cleanup
* Refactoring (the unit tests still pass)
* Disabled experimental API (BAffineTransform, which is not yet publically
available anyway)
+alphabranch
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32723 a95241bf-73f2-0310-859d-f6bbb57e9c96
to the latest direct_buffer_info - it could trash memory before.
* Now handles failed allocations more gracefully.
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32719 a95241bf-73f2-0310-859d-f6bbb57e9c96
missing. IIRC, I did write an app way back that used this class...
+alphabranch
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32713 a95241bf-73f2-0310-859d-f6bbb57e9c96
not transfered to the commmand, it needs to add references. If not more of
such problems are lurking, it could already fix ticket #4104. Note that you
can build Icon-O-Matic with referencable tracing turned on (generic/support/
Referenceable.cpp). The backtrace in #4104 would specifically hint at a
problem with assigning paths to shape and then unassigning them. Assigning
them didn't add the references that unassigning the paths removed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32707 a95241bf-73f2-0310-859d-f6bbb57e9c96
- UTF-8,
- add copyrights.
We shouldn't need this anymore anyway, devfs handles rescanning on its own...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32705 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added warning about this being experimental API.
+alphabranch
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32695 a95241bf-73f2-0310-859d-f6bbb57e9c96
Some (disabled) syslog output.
Renamed buffer_info to fBufferInfo and made it private.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32692 a95241bf-73f2-0310-859d-f6bbb57e9c96