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
you can easily produce a dead lock. This should fix the system hang
experienced as part of bug #4223.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32526 a95241bf-73f2-0310-859d-f6bbb57e9c96
mechanism used in BeOS, that is to press Control+Option-Tab (which didn't
work on Haiku, though).
* Did not change the window switch logic, though, so it's still not really
nice.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32524 a95241bf-73f2-0310-859d-f6bbb57e9c96
couldn't find a quick solution that wouldn't need the layouting rewrite
(currently in redesign phase in my branch)
* In the mean time i've added desktop element avoidance in Cleanup so one
can easily recover hidden icons without advanced shortcuts. Before that, it
would need a CleanupAll aka shift-alt-k (which would relayout everything btw).
Doesn't fix#4241 but at least provides a way to see your icons again easily.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32523 a95241bf-73f2-0310-859d-f6bbb57e9c96
make it work, one would need to use versioning for all libbe symbols. This is
worth an 8k price per file that links against libbe.so, so I didn't want to
commit this as is. An alternative to this solution would be to write a
separate application that is responsible for the app_server's window. Comments
welcome.
* Removed BeOS compatbility of the libbe_test stuff.
* Renamed the libbe_test targets from *haiku* to *test*, ie. libbe_haiku.so is
now called libbe_test.so, haiku_registrar is now test_registrar, etc.
* This also removes BeOS compatibility from tracker/FSUtils.cpp (all BeOS
compatibility should be removed, but I don't want to make Alexandre more work
in his branch, and it's not urgent at all).
* Replaced the former "run" scripts for the test environment with a single
run script (see updated NOTES file).
* Removed the libbe_test target from some applications - this was only to help
developing them under BeOS, and is thus no longer necessary.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32521 a95241bf-73f2-0310-859d-f6bbb57e9c96
is already the second time that the "Switch Terminals" functionality was lost
this way. I've now changed the shortcut to Alt-Tab, as Alt-G is indeed the
usual one for "Find Next".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32518 a95241bf-73f2-0310-859d-f6bbb57e9c96
now takes over this role (leaving Alt-Tab) to the application.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32517 a95241bf-73f2-0310-859d-f6bbb57e9c96
toggle carry stays valid, we better make sure we set it correctly. Additionally
even if the toggle carry wasn't clobbered, there are conditions the toggle is
reset without the controller being able to notice (as in clearing a halt state).
Since I don't have any OHCI hardware this is untested, but should fix bug #4067
if correct.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32510 a95241bf-73f2-0310-859d-f6bbb57e9c96
suppose the mapping of MIME types to app signatures is case insensitive. So
I guess this is mainly cosmetic.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32506 a95241bf-73f2-0310-859d-f6bbb57e9c96
We really should come up with a way to avoid the duplication between the rdef
and source code...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32505 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Keep track of the currently running threads.
* Make use of that info to decide if a thread that becomes ready should preempt
the running thread.
* If we should preempt we send the target CPU a reschedule message.
* This preemption strategy makes keeping track of idle CPUs by means of a bitmap
superflous and it is therefore removed.
* Right now only other CPUs are preempted though, not the current one.
* Add missing initialization of the quantum tracking code.
* Do not extend the quantum of the idle thread based quantum tracking as we want
it to not run longer than necessary. Once the preemption works completely
adding a quantum timer for the idle thread will become unnecessary though.
* Fix thread stealing code, it did missed the last thread in the run queue.
* When stealing, try to steal the highest priority thread that is currently
waiting by taking priorities into account when finding the target run queue.
* Simplify stealing code a bit as well.
* Minor cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32503 a95241bf-73f2-0310-859d-f6bbb57e9c96
and loading an image bigger than the current window size didn't get the window enlarged.
exceptions: the window doesn't get resized by this mean if you check the Shrink to window or Zoom to window settings.
Fixes ticket #4273.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32502 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Removed the WordWrap from the text view, until we computed the TextHeight(), then put it again, once the textview got resized.
I think it might be hiding an other bug in the way we compute TextHeight(), but it seems to be a workaround.
(Fixing?) Ticket #169
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32501 a95241bf-73f2-0310-859d-f6bbb57e9c96
Use kits/print/PrintTransportAddOn.cpp in transport add-ons.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32499 a95241bf-73f2-0310-859d-f6bbb57e9c96
anymore with the small size, and it didn't fix the problem I originally hoped
it would.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32495 a95241bf-73f2-0310-859d-f6bbb57e9c96
re-insert it at a new place, but by only setting the priority and not the
next_priority field, the thread would actually be enqueued at the same priority
level as before. Didn't cause any real damage, guess it was just an oversight.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32494 a95241bf-73f2-0310-859d-f6bbb57e9c96
as if a copy happened. This closes bug #4242.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32490 a95241bf-73f2-0310-859d-f6bbb57e9c96
For now copied PrintTransportAddOn.cpp from kits/print into each tranport add-on folder and use that instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32489 a95241bf-73f2-0310-859d-f6bbb57e9c96
* If you choose cancel on that first dialog, also don't save a config file
* Also fixes the button labelling in the preference panel (several were clipped)
* Allow the user to cancel the selection of the web folder and return to the initial dialog (to choose Default, for example)
* Make the preference panel closable with escape key
* Multiple coding style changes
(Ref: Ticket #4255)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32486 a95241bf-73f2-0310-859d-f6bbb57e9c96