which got unnoticed since the former Desktop::ActiveScreen() never changed.
This fixes bug #4301.
* Also fixed a possible deadlock on application crash with a kWindowScreenFeel
window; the locking order of the Desktop's and the ServerApp's window lock was
reversed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32578 a95241bf-73f2-0310-859d-f6bbb57e9c96
is obviously already configured not to use patented code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32577 a95241bf-73f2-0310-859d-f6bbb57e9c96
been removed. That includes CPU disabling and thread pinning, as that becomes
pointless with only one CPU.
* Return a proper reschedule hint on enqueing a thread, based on the priority
of the current thread vs. the enqueued one.
* Enable dynamic scheduler selection. With one CPU the simple scheduler will
be used, otherwise affine is selected.
* Removed the scheduler type define as we now always auto-select it.
* Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32573 a95241bf-73f2-0310-859d-f6bbb57e9c96
are the same, but it's more correct. Also memset the buffer_info struct.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32572 a95241bf-73f2-0310-859d-f6bbb57e9c96
(hopefully), and now I could enable the B_SCREEN_CHANGED notification since
it works a bit differently
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32570 a95241bf-73f2-0310-859d-f6bbb57e9c96
testing to determine where we are at sooner than later now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32569 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Made ScreenChanged() private, and renamed it to _ScreenChanged().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32565 a95241bf-73f2-0310-859d-f6bbb57e9c96
and reverts the modes if the app goes away (ie. if it crashes).
* Desktop::SetScreenMode() also set the mode on the current screen, even if
it should have been set on another screen.
* Cleaned up the Desktop.h header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32564 a95241bf-73f2-0310-859d-f6bbb57e9c96
broke Desktop::WorkspaceFrame(), which I didn't notice before; Workspaces now
shows everything in the right dimensions, even if resolutions differ.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32560 a95241bf-73f2-0310-859d-f6bbb57e9c96
AS_SCREEN_GET_MODE won't work with multi-screen support anymore, and is also
more overhead than needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32559 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Desktop is now including it as well to be able to use the new
B_CURRENT_WORKSPACE_INDEX constant.
* Include order cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32558 a95241bf-73f2-0310-859d-f6bbb57e9c96
was reason that caused bug #2658.
* Introduced a new constant B_CURRENT_WORKSPACE_INDEX in PrivateScreen.h; maybe
this should be made public one day.
* Fixed another reason that caused bug #2658: BPrivateScreen waited 100ms
between frame updates, leaving a large window open for such problems; I've
reduced it to 10ms now, but the actual bug fix is to reset the counter for
each BScreen object, so that when you create a new BScreen object, the frame
is retrieved timely.
* The reference count was not initialized, causing BPrivateScreens to be leaked
forever.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32557 a95241bf-73f2-0310-859d-f6bbb57e9c96
ScreenConfigurations correctly.
* Removed scoring for the screen ID alone - if there is a monitor info, we don't
want to match an existing info if it only has an ID, as that one hasn't been
stored for the current monitor.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32556 a95241bf-73f2-0310-859d-f6bbb57e9c96
packet that targets the MAC address supplied by argument.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32555 a95241bf-73f2-0310-859d-f6bbb57e9c96
* scheduler_enqueue_in_runqueue() now allows the scheduler to return a hint as to whether a reschedule is desirable or not. This is used in a few other places in order to relegate scheduling decisions entirely to the scheduler rather than the priority hacks previously used. There are probably other places in the kernel that could now make use of that information to more intelligently call reschedule() though.
* Switch over the default scheduler to scheduler_affine().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32554 a95241bf-73f2-0310-859d-f6bbb57e9c96
image and DevelopmentMin optional package. This is the original libjpeg (6b),
which I will updated to version 7 within the next few days. I need to
understand better the modifications made to it before updating.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32553 a95241bf-73f2-0310-859d-f6bbb57e9c96
processed. The controller may initialize it to any value when starting to
process the descriptor. If a controller did that it was possible that we thought
a transfer was already done even if it actually just started. Transfers would
then return that weren't processed, returning uninitialized buffers.
Instead of relying on the condition codes we now check that the head and tail
pointers are the same. This guarantees that all transfer descriptors of the
endpoint at hand are completed.
Reverted r32534 again as this one fixes the problem for real. The same things
that were mentioned there could happen here essentially, so in the worst case
the device or controller could stall because of freeing in-use structures.
Fixes#4067.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32551 a95241bf-73f2-0310-859d-f6bbb57e9c96
directory. I think this should be good enough until we have session management.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32545 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Move the launching of files in this directory from the Bootscript to the
UserBootscript.
- This means we now ship a working UserBootscript instead of just a sample.
- Updated documentation based on this change and Humdinger's suggestions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32544 a95241bf-73f2-0310-859d-f6bbb57e9c96
to do with the configurations now, instead, there is a separated
ScreenConfigurations class that maintains all known screen_configurations
per workspace (and the Workspace::Private class has two of them, one for the
current modes, one for the stored modes).
* Added Desktop::{Get|Set}ScreenMode() methods, ServerApp now only calls those.
* Getting and setting of anything else than the current screen is now supported.
* This change also fixes that a temporarily set screen mode was not being
restored on workspace switch.
* Also, the Deskbar now seems to have the wrong location a lot, which is
something that should be easily fixable therefore. I will look into this next.
* Got rid of the unhandy screen_id structure server side, and in BPrivateScreen;
we now just use an int32 - the next API break should definitely replace the
screen_id with a simple typedef.
* Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32541 a95241bf-73f2-0310-859d-f6bbb57e9c96
making the check fail when Pose::Draw was called with a non zero offset.
Fixes#4289
* Fixed an x/y typo (that had no really visible effect, the fade effect might
need some more indepth review)
* Removed dead code, and replaced an inlined intersection check with
BRect::Intersect.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32538 a95241bf-73f2-0310-859d-f6bbb57e9c96
screens that actually changed their resolution, which simplifies the code
in Desktop considerably.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32537 a95241bf-73f2-0310-859d-f6bbb57e9c96
and does not give focus to any window behind that one.
* Added TODO comment to the DefaultDecorator bitmap caching mechanism (although,
it really seems to be fast enough, anyway, at least once we remove no longer
used bitmaps).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32536 a95241bf-73f2-0310-859d-f6bbb57e9c96
the Deskbar behave, and not appear in front of those. However, if auto-raise
is turned on, the mouse cursor is shown, so it seems to get activated anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32535 a95241bf-73f2-0310-859d-f6bbb57e9c96
reused and overwritten by the first descriptor of the new transfer and the first
descriptor will become the new tail. We anticipate this situation in
_AddPendingTransfer() and set the first_descriptor of the transfer data to the
tail already. Since the tail was pretty much cleared to zero, this introduced
a race condition. After adding the pending transfer it can already be found
in the finisher thread. If this happened before actually switching the tail
and first descriptor it would find a descriptor with a condition of 0, meaning
"No Error" and would process the transfer incorrectly. Depending on the count
of descriptors and the timing of the switch taking place this could have
resulted in aborted transfers with actual length 0 or with the correct actual
length but invalid data. In the very worst case it could have freed things still
in use by the controller, resulting in all sorts of device errors. Sadly it
doesn't fix#4067.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32534 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Remove '`' and '~' keyboard shortcuts from DoKey as those will no longer be
processed there (they are processed at a higher level.)
- Make shortcut for previous app '1' (same behavior as the left cursor key.)
This required adding B_UNMAPPED_KEY_DOWN to MessageReceived since it is actually
Ctrl-1 that is being pressed (which is unmapped in our default keymap.)
- Make the processing of Ctrl-~ (or `) cycle through the windows when the
Twitcher window is showing. This is to mimic the behavior when the Twitcher
window is never shown. There is still a bug though: the order of the switching
changes after the Twitcher window is shown. Why do we have both CycleWindow and
SwitchWindow methods in TSwitchManager? The changing of order seems to be due
to the use of SwitchWindow instead of CycleWindow. I suppose this is for the
day when we implement quick window switching?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32533 a95241bf-73f2-0310-859d-f6bbb57e9c96
transfer descriptors into individual packets. The descriptors are more a
logical thing. As such we do not generate one descriptor per packet but one
for each block of two pages at max. Therefore we only set the initial toggle bit
to the one we stored on the first descriptor and let OHCI use the carry bit for
subsequet descriptors. That error would only be visible on transfers above two
pages in size though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32532 a95241bf-73f2-0310-859d-f6bbb57e9c96
retired descriptor, it actually contains the value that is to be used next.
Confirmed that by cross-referencing FreeBSD.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32531 a95241bf-73f2-0310-859d-f6bbb57e9c96
doesn't depend on the 'node flavor' of the parent filepanel.
Fixes#3624
* Minor style fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32530 a95241bf-73f2-0310-859d-f6bbb57e9c96
and is based on the pose selection time, not on click time. It is more
robust and since the selection might have been by click, keyboard or
selection rect, it makes the behavior very pleasant (in my opinion) for
multiselections. Try and tell me!
* Disabled the modifiers (first click editing). Too many of them, and
conflicting with other usages, i'd like your opinions/preferences.
* Removed old, hackish and now unused DelayedEdit/SetDelayedEdit stuff.
Fixes#3617
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32529 a95241bf-73f2-0310-859d-f6bbb57e9c96
there is a better place please move it there. Also fixed a bad link in the
Tracker section.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32528 a95241bf-73f2-0310-859d-f6bbb57e9c96
The dead simple Bash code was just copied from Humdinger's patch on #1202. He
also suggested having a link on the Deskbar for this folder, but I don't know
if that is needed. We just need to document it, which I may do next.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32527 a95241bf-73f2-0310-859d-f6bbb57e9c96