Also add some paranoid checks: ACPI BIOSes implementation can be... wild.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32584 a95241bf-73f2-0310-859d-f6bbb57e9c96
Alt, Option, or Control while scrolling the menu via the mouse wheel now
scrolls page wise.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32581 a95241bf-73f2-0310-859d-f6bbb57e9c96
because all reports schedule transfers on the same endpoint and therefore need
to possibly reschedule. Previously if we got a report that we didn't listen on
all further reports would stop, because noone would schedule a new transfer.
This fixes extra keys not working on my natural keyboard.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32580 a95241bf-73f2-0310-859d-f6bbb57e9c96
noticed.
* Humdinger, the GUI image does not have item 5) for the resize knob!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32579 a95241bf-73f2-0310-859d-f6bbb57e9c96
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