Commit Graph

31026 Commits

Author SHA1 Message Date
Michael Lotz 2e7672a2a0 Adding a simple wake on LAN command line utility. It will broadcast a magic
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
2009-08-21 05:52:36 +00:00
Rene Gollent 009ccc2962 anevilyak+mmlr:
* 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
2009-08-21 04:11:40 +00:00
Ryan Leavengood e58f5f3d02 Extract libjpeg from the JPEGTranslator and make it a standalone lib. Added to
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
2009-08-21 02:17:42 +00:00
Michael Lotz 9dbe55ebcc Fix typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 02:07:11 +00:00
Michael Lotz c265fd23cd We cannot use the condition codes to determine if a transfer descriptor is
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
2009-08-21 00:14:50 +00:00
Rene Gollent 66dde0a85d Fix build with TRACE_SMP enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 23:39:22 +00:00
François Revol af0ba3c2c8 Fix gcc4 picky warnings...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 22:30:32 +00:00
François Revol 23ac6129a6 Fix gcc4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 22:28:02 +00:00
Ryan Leavengood 366df3d41b Copy our current libjpeg to it's new location before merging the new vendor branch
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 21:12:25 +00:00
Ryan Leavengood 4197604101 Remove useless if, /bin/open will handle this itself. Thanks Rene and sorry for
the noise.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 20:15:39 +00:00
Ryan Leavengood fa3f8dcf9f Launch executables and use /bin/open on everything else in the boot launch
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
2009-08-20 20:10:31 +00:00
Ryan Leavengood b6b0567fbd - Change Autostart directory name to launch.
- 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
2009-08-20 19:21:18 +00:00
Axel Dörfler 0eed918306 * Rewrote screen configuration management: VirtualScreen doesn't have anything
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
2009-08-20 17:52:32 +00:00
Rudolf Cornelissen 4caccc456d modified the 100kHz timing inside the DDC common accelerant code. If delays with values near the timer resolution are required, the values should always have one resolution step added since otherwise the minimum delay isn't quaranteed. the 400khz timing needs fixing as well I guess... This modification fixes at least ticket #4084 where a DDC monitor isn't detected otherwise.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 16:41:39 +00:00
Rudolf Cornelissen f72c42f862 reverting part of the I2C delay between writing SCL and DAT since the hardware design does not suffer from the read-modify-write issue I thought it might be.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 16:33:33 +00:00
Alexandre Deckner 725ad924ff * When checking a draw/updateRect intersection, an offset was added too early
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
2009-08-20 10:59:53 +00:00
Axel Dörfler 02b6c95990 * VirtualScreen::RestoreConfiguration() now also takes care of collecting the
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
2009-08-20 09:45:54 +00:00
Axel Dörfler 0d1d2de59b * Desktop::SetFocusWindow() now takes kWindowScreenFeel windows into account,
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
2009-08-20 09:18:32 +00:00
Axel Dörfler acc71e7c7c * The feel of a BWindowScreen should actually be kWindowScreenFeel. This makes
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
2009-08-20 09:02:55 +00:00
Michael Lotz 840cdc9efc When adding a transfer, the current tail descriptor of the endpoint will be
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
2009-08-20 07:24:49 +00:00
Ryan Leavengood 177e730557 Incremental progress in improving the Twitcher:
- 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
2009-08-20 05:19:35 +00:00
Michael Lotz 5f92e39f7b That's actually not how it works. OHCI does the dirty work of splitting up the
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
2009-08-20 04:45:13 +00:00
Michael Lotz b0a2e9e7aa Even though the specs say the toggle carry field contains the value of the last
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
2009-08-20 02:43:40 +00:00
Alexandre Deckner f2b42dbb1b * Favorites in filepanels are always folders, the type of favorites here
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
2009-08-20 02:19:08 +00:00
Alexandre Deckner 50f1b82d5b * Rewrote rename-click detection to be more usable. The code is much smaller
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
2009-08-20 01:19:41 +00:00
Ryan Leavengood f67cd235ef Add a blurb about the Autostart directory in the bash scripting section. If
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
2009-08-19 21:44:03 +00:00
Ryan Leavengood 176b361595 Add an Autostart directory as an easy way to start applications at boot up.
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
2009-08-19 21:26:36 +00:00
Axel Dörfler 6d908f83f3 * Must be careful which functions to call in the notifications handler, or else
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
2009-08-19 17:09:33 +00:00
Axel Dörfler 87da7984dc * Contrl-~ now switches between application windows. This is handier than the
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
2009-08-19 15:45:17 +00:00
Alexandre Deckner 105f1c632e * Added a TODO about droping icons under replicants or deskbar since i
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
2009-08-19 15:29:59 +00:00
Alexandre Deckner d111ca1a64 * Remove bad pixel on the hand
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 14:18:32 +00:00
Axel Dörfler 2c69b5b6c0 * Made the libbe_test environment basically working under Haiku - to actually
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
2009-08-19 14:17:13 +00:00
Alexandre Deckner bdee02b5b0 * Move cursors to Cursors.h
* Use the new copy cursor


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32520 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 14:16:45 +00:00
Axel Dörfler 30d716e081 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 14:05:00 +00:00
Axel Dörfler 53b322deb2 * Guys, you need to take more care when adding new shortcuts (hey Ingo!); this
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
2009-08-19 14:02:54 +00:00
Axel Dörfler 5b0a5c36ad * Our jump-to-next-group never worked, and since no one complained, option-tab
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
2009-08-19 13:59:16 +00:00
Axel Dörfler ec3e7feb04 * The PNGDump stuff is no longer used.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 13:57:59 +00:00
Axel Dörfler 2ecef7f379 * Reuse an existing text tool tip, when a new text is set.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 13:56:16 +00:00
Alexandre Deckner 8a6c0c3a1d * Some cursor overlays for tracker drag'n'drop operations
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 13:44:42 +00:00
Alexandre Deckner c5b7a0fe6a * Give a chance to volume/disks icons to save their position when changing the
"Show Disks/Volumes Icon" preference. Fixes #1559
* Automatic white space cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 13:19:31 +00:00
Alexandre Deckner 3074019e96 * Remove wrong check that was preventing to properly place the first pose. Fixes #4055
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 12:51:50 +00:00
Joachim Seemer ade571c524 Changed to the official name 'VLC media player'. Thanks for pointing that out, Urias.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 06:49:17 +00:00
Michael Lotz abe8e8a2c2 A try at actual data toggle handling. Since we do not properly ensure that the
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
2009-08-19 04:45:02 +00:00
Ryan Leavengood 75c92c56f6 Updating some Preferences MIME signatures.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 04:01:16 +00:00
Ryan Leavengood 3cad461ddb No need for this now with the new icon.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 03:56:51 +00:00
Ryan Leavengood b90371088c Fix some app signatures in MIME types. Given that these worked already I
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
2009-08-19 03:35:40 +00:00
Ryan Leavengood f3f9e93a0c Some application MIME signature fixing.
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
2009-08-19 03:33:37 +00:00
Ryan Leavengood 97c9909772 Fixing MIME signatures, though these are probably somewhat pointless. Some
still had obos though...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 03:22:57 +00:00
Michael Lotz 152132f08a mmlr+anevilyak:
* 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
2009-08-19 03:19:17 +00:00
Philippe Saint-Pierre 29c4d5a983 ShowImage: Using the up and down arrow to change images from a tracker folder,
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
2009-08-19 02:20:10 +00:00