chose the front window as our next focus window - but this proved
to be problematic with B_AVOID_FRONT windows. Therefore, we now
simply chose the top-most window as the next focus window.
This fixes bug #281, and potentially also fixes bug #181.
* This also revealed another bug in SetFocusWindow(): when the window
to have focus already had focus, but were hidden before, the focus
did not change; if that window was subsequently removed, the app_server
would have crashed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16811 a95241bf-73f2-0310-859d-f6bbb57e9c96
in HWInterface::_DrawCursor(). Axel, even though we
understood the problem, we didn't really fix it back
then: When the sync flag was set to true in
BView::SetViewCursor(), the link was only flushed,
which means that the function still returned before the
ServerWindow thread processed the message. This means
that the race condition (the cursor being immediately
deleted after SetViewCursor returns, which might be
processed in ServerApp thread before the SetViewCursor
request in ServerWindow thread) still existed. I changed
SetViewCursor now to do a real sync (wait for the
ServerWindow reply) before returning. The alternative
would be to set the fPendingViewCursor flag in either case.
Anyhow, I could reproduce the error quite reliably before
this change, and now it is gone... here is to hoping!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16809 a95241bf-73f2-0310-859d-f6bbb57e9c96
Unfortunately, Tracker resolves the link, and doesn't pick up its name or shortcut
(should be fixed in Tracker, though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16806 a95241bf-73f2-0310-859d-f6bbb57e9c96
these should be public (they don't match any basic Be naming style
anyway :-).
* Put the code that's used by the app_server where it's needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16804 a95241bf-73f2-0310-859d-f6bbb57e9c96
this one, maybe we should find out what it does, make it public and
document it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16801 a95241bf-73f2-0310-859d-f6bbb57e9c96
for the kernel as well, and thus we need to export _kern_get_timezone(),
too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16792 a95241bf-73f2-0310-859d-f6bbb57e9c96
(realized as an option enabled in the menu).
* Minor bug fixes and changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16791 a95241bf-73f2-0310-859d-f6bbb57e9c96
using the new _kern_get_timezone() syscall.
* Added an implementation of ftime() based on the above function, this
may fix bug #308.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16786 a95241bf-73f2-0310-859d-f6bbb57e9c96
dunno if we want to keep this, though.
* Improved some methods by no longer calling strlen() more than once.
* We're now using snprintf() instead of sprintf() in the << operators to
make them more secure (even though the string lengths should be long
enough).
* Improved << operators by taking the return (the resulting string length) of
snprintf() into account.
* Replaced calls to _GrowBy() with a negative argument with calls to
_Alloc() which actually safes some computation.
* Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16783 a95241bf-73f2-0310-859d-f6bbb57e9c96
audio/multi changed to audio/hmulti (avoid confusion with Be's audio/multi)
hmultiaudio.addon won't load ich_ac97 any more (reason is it's not compatible)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16782 a95241bf-73f2-0310-859d-f6bbb57e9c96
to be killed. Reverted ShutdownProcess.cpp to continue to use kill_team()
instead of sending a signal.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16780 a95241bf-73f2-0310-859d-f6bbb57e9c96
windows to other workspaces so much easier that even I managed to get it
right...
* Moving windows on another workspace is now working as well.
* Fixed a positioning bug in Desktop::SetWorkspace() - was only visible in
case the window was in more than one workspace, but not in all.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16777 a95241bf-73f2-0310-859d-f6bbb57e9c96
can't move them to another workspace, and you currently don't see a
window moving that is not in the current workspace. (this fixes bug #135)
* Desktop::SetWindowBehind() didn't update the WorkspacesLayer.
* Changed Desktop::MoveWindowBy() to be able to move window on any workspace.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16776 a95241bf-73f2-0310-859d-f6bbb57e9c96
This should fix bug #124 and makes much nicer screenhots.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16769 a95241bf-73f2-0310-859d-f6bbb57e9c96
That buys some more time before switching to a slab allocator :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16767 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Extended ConvertBits() to properly handle negative offsets and overlapping lines
* Implemented blitting the software cursor to the bitmap returned from ReadBitmap()
Note: In the future we will have to directly use the final graphics buffer for ReadBitmap() if we want DirectWindow output too (R5 includes it). I don't know how R5 handles the hardware cursor though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16766 a95241bf-73f2-0310-859d-f6bbb57e9c96
(defaults to turned off).
To make any use of this, you have to call the __dump_allocated() function
at the point you want to check the leaks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16765 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed another BMessageRunner leak.
* Added an optional second parameter which you can use to limit the run time
of the app.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16764 a95241bf-73f2-0310-859d-f6bbb57e9c96
I'm also wondering where those exceptions are actually caught.
* when unflattening into a message, MakeEmpty() will be called
on it first. This will actually fix the crashing bug I observed,
but it makes me suspicious - there should be an error somewhere
else. Something to do with initialization perhaps?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16763 a95241bf-73f2-0310-859d-f6bbb57e9c96