Commit Graph

33557 Commits

Author SHA1 Message Date
Jérôme Duval
9af4e61b28 update to tzdata2010b
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-27 00:24:02 +00:00
Jérôme Duval
96cddcb711 * avoids crashing when fPlayList is already gone on quitting.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-27 00:22:48 +00:00
Michael Lotz
384eec9bc3 Add "hid_decode" which uses the usb_hid HID parser to decode a report descriptor
(which is conveniently stored by usb_hid to /tmp for each device you plug in).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 23:34:23 +00:00
Michael Lotz
fd97180e27 Make the HID parser usable standalone in userland.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 23:27:56 +00:00
Ingo Weinhold
64a9bd15c8 Optimized writing of zeroes to files. Instead of allocating a small buffer
on the fly, clearing and writing it each time, we now use an iovec with 32
identical entries pointing to a clear page that we prepare once at
initialization. This speeds up clear_image in low memory situations
dramatically.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 21:30:50 +00:00
Michael Lotz
cef3da793a Remove leftover from lazy copy&paste action.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 21:27:42 +00:00
Michael Lotz
63bcd0d0c3 Add "URI" property that returns the URI of the currently playing item.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 21:23:33 +00:00
Oliver Tappe
959abd1c51 * added optional package ICU-devel, which (hopefully) contains all the headers
required to build applications that require ICU


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 20:27:16 +00:00
Oliver Tappe
5337f612fe * added license for ICU
* added missing ICU copyright credit to AboutSystem

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 20:20:34 +00:00
Ingo Weinhold
7fa3e4e68a cache_io(): Reevaluate the memory situation periodically. Deciding at the
beginning whether to pass the cache by really doesn't help when
reading/writing a huge amount of data, since a low memory situation is likely
to occur at some point during the operation. This should fix the main issue
of #3768.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 17:22:46 +00:00
Ingo Weinhold
cff6e9e406 * The system now holds back a small reserve of committable memory and pages. The
memory and page reservation functions have a new "priority" parameter that
  indicates how deep the function may tap into that reserve. The currently
  existing priority levels are "user", "system", and "VIP". The idea is that
  user programs should never be able to cause a state that gets the kernel into
  trouble due to heavy battling for memory. The "VIP" level (not really used
  yet) is intended for allocations that are required to free memory eventually
  (in the page writer). More levels are thinkable in the future, like "user real
  time" or "user system server".
* Added "priority" parameters to several VMCache methods.
* Replaced the map_backing_store() "unmapAddressRange" parameter by a "flags"
  parameter.
* Added area creation flag CREATE_AREA_PRIORITY_VIP and slab allocator flag
  CACHE_PRIORITY_VIP indicating the importance of the request.
* Changed most code to pass the right priorities/flags.

These changes already significantly improve the behavior in low memory
situations. I've tested a bit with 64 MB (virtual) RAM and, while not
particularly fast and responsive, the system remains at least usable under high
memory pressure.
As a side effect the slab allocator can now be used as general memory allocator.
Not done by default yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35295 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 14:44:58 +00:00
Michael Lotz
c5d6e9b06e Add some scripting to the MediaPlayer so it can be remote controlled.
Example usage to skip one track forward: hey MediaPlayer Do Next of Window 0


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 04:41:54 +00:00
Michael Lotz
a387e84423 Also accept B_MIME_DATA dropped messages. Allows the Terminal to be used with
Keymap as an on-screen keyboard by dropping the sample clipboard content and the
actual keys onto it (including control ones).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 02:34:07 +00:00
Michael Lotz
96d719ae74 Automatic whitespace cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-26 02:30:21 +00:00
Stephan Aßmus
7f2f2fa041 Remove the ucontext.h header again, until the whole SA_SIGINFO backend is
implemented fully in order not to fool ported software into believing this
API can be used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 23:16:06 +00:00
David McPaul
50ff266ef2 Add SSE versions of YUV2RGB converters for earlier x86 cpus
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 21:53:56 +00:00
Jérôme Duval
72570e2e14 * spawn the thread after an audio group is created to be safe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 21:19:31 +00:00
Ingo Weinhold
c1547182c3 Moved added the debugger commands from slab_init() to slab_init_post_area().
Those use malloc(), which obviously doesn't work before the heap is
initialized.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 19:51:53 +00:00
Stephan Aßmus
1518a682f9 Patch by Andreas Faerber: Adding ucontext.h POSIX header. mcontext_h can be
typedef'd to the existing vregs type. Applies #5324. Thanks a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 18:06:50 +00:00
Ingo Weinhold
30f2c6c859 When we create areas for large raw allocations there's no need to allocate
clear pages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 15:42:35 +00:00
Ingo Weinhold
f1bdb8b92c * HashedObjectCache: Instead of entering the individual objects in the hash
table, we only enter the slab. This also saves us the link object per object.
* Removed the now useless {Prepare,Unprepare}Object() methods.
* SmallObjectCache: Unlock the cache while calling into the MemoryManager. We
  need to do that to avoid an indirect violation of the CACHE_DONT_* policy.
* Simplified lower_boundary().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 15:33:25 +00:00
Stephan Aßmus
5993482bf5 Fixed LowColor() of "background" view. Seems this was always wrong, but now we
are running without offscreen view, and this caused dark slider background,
since LowColor() was unintentionally B_TRANSPARENT_COLOR. Fixes #5323.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 13:53:26 +00:00
Ingo Weinhold
b4e5e49823 MemoryManager:
* Added support to do larger raw allocations (up to one large chunk (128 pages))
  in the slab areas. For an even larger allocation an area is created (haven't
  seen that happen yet, though).
* Added kernel tracing (SLAB_MEMORY_MANAGER_TRACING).
* _FreeArea(): Copy and paste bug: The meta chunks of the to be freed area
  would be added to the free lists instead of being removed from them. This
  would corrupt the lists and also lead to all kinds of misuse of meta chunks.

object caches:
* Implemented CACHE_ALIGN_ON_SIZE. It is no longer set for all small object
  caches, but the block allocator sets it on all power of two size caches.
* object_cache_reserve_internal(): Detect recursion and don't wait in such a
  case. The function could deadlock itself, since
  HashedObjectCache::CreateSlab() does allocate memory, thus potentially
  reentering.
* object_cache_low_memory():
  - I missed some returns when reworking that one in r35254, so the function
    might stop early and also leave the cache in maintenance mode, which would
    cause it to be ignored by object cache resizer and low memory handler from
    that point on.
  - Since ReturnSlab() potentially unlocks, the conditions weren't quite correct
    and too many slabs could be freed.
  - Simplified things a bit.
* object_cache_alloc(): Since object_cache_reserve_internal() does potentially
  unlock the cache, the situation might have changed and their might not be an
  empty slab available, but a partial one. The function would crash.
* Renamed the object cache tracing variable to SLAB_OBJECT_CACHE_TRACING.
* Renamed debugger command "cache_info" to "slab_cache" to avoid confusion with
  the VMCache commands.
* ObjectCache::usage was not maintained anymore since I introduced the
  MemoryManager. object_cache_get_usage() would thus always return 0 and the
  block cache would not be considered cached memory. This was only of
  informational relevance, though.

slab allocator misc.:
* Disable the object depots of block allocator caches for object sizes > 2 KB.
  Allocations of those sizes aren't so common that the object depots yield any
  benefit.
* The slab allocator is now fully self-sufficient. It allocates its bootstrap
  memory from the MemoryManager, and the hash tables for HashedObjectCaches use
  the block allocator instead of the heap, now.
* Added option to use the slab allocator for malloc() and friends
  (USE_SLAB_ALLOCATOR_FOR_MALLOC). Currently disabled. Works in principle and
  has virtually no lock contention. Handling for low memory situations is yet
  missing, though.
* Improved the output of some debugger commands.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 13:46:58 +00:00
Adrien Destugues
a1db5b96bb Fix build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 12:55:14 +00:00
Ingo Weinhold
71f65beeb3 Marked CACHE_UNLOCKED_PAGES as unsupported.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 12:22:36 +00:00
Ingo Weinhold
d0e43cc7cb "vnode" does now also print the node type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 12:21:48 +00:00
Ingo Weinhold
ad6ad0f124 VMCache::Init(): Initialize the debug_* members before allocating the
VMCacheRef object, since that can fail, in which case the subsequently called
Delete() would use uninitialized pointers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 12:21:12 +00:00
Ingo Weinhold
b20de45ebd * Added optional allocator template parameter.
* Added optional parameter "void** oldTable" to Resize(). If given the old
  allocation for the table is returned instead of freeing it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 12:18:20 +00:00
Adrien Destugues
dc6a27e9b5 Import a set of french translations from Haiku Translation Assistant.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 10:49:21 +00:00
Stephan Aßmus
26353e2bd7 When the Quit button is invoked after an installation, do not prompt the user
for confirmation to restart the computer. Untested, but with good chances of
working as intended.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 10:00:13 +00:00
Ingo Weinhold
d2e874ddff Patch by Matt Madia: Replaced non-POSIX "&>" by "2>&1 >".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-25 04:10:32 +00:00
Axel Dörfler
2069f565e8 * After stippi's request, I was urged to update the decorators as well.
* Applied a minor style update to them. There are many many more violations in
  there, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-24 13:46:49 +00:00
Axel Dörfler
3c50a64697 * Inode::Create() should also better check if creating the file cache succeeded.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-24 13:05:19 +00:00
Axel Dörfler
c709a396cf * Added a method NeedsFileCache() that determines whether or not a file cache
should be allocated.
* Inode::InitCheck() now fails if a file cache couldn't be allocated.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-24 13:02:18 +00:00
Axel Dörfler
4e32bf0954 * Simplified code a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-24 12:15:31 +00:00
Michael Lotz
c30aac4e5e Add the "Delivery-Date" to the default headers. This provides a fallback in case
the "Date" header is missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 20:37:48 +00:00
Stephan Aßmus
1d30bdadcd Updated German for the new quit prompt in Installer when it is running alone.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 18:21:38 +00:00
Michael Lotz
ff6fe8b3ad Automatic whitespace cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 17:45:16 +00:00
Clemens Zeidler
ef0f557c65 As suggested by Axel use addr_t and size_t.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 16:40:36 +00:00
Ingo Weinhold
c3f84a1df5 _FreeChunk(): When freeing a chunk from a formerly full meta chunk, we have
to add it back to its partial list or it would be leaked.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35266 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 16:06:19 +00:00
Clemens Zeidler
707e415d47 Allow a tap click when the right touchpad button is pressed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 15:23:58 +00:00
Ingo Weinhold
5726fbda3c MemoryManager:
* Does now keep one or two empty areas around, so that even in case of
  CACHE_DONT_LOCK_KERNEL_SPACE memory can be provided as long as pages are
  available. The object cache maintainer thread is used to asynchronously
  allocate/delete the free areas.
* Added new debugger commands "slab_meta_chunk[s]" and improved the existing
  ones.
* Moved Area::chunks to MetaChunk.
* Removed unused _AllocationArea() "chunkSize" parameter.
* Fixed serious bug in _FreeChunk(): Empty meta chunks were not removed from
  the partial chunk lists and could thus be used twice.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 14:46:04 +00:00
Stephan Aßmus
e1453a3e5d When running as the only application, ask the user before quitting for
confirmation before restarting the computer. (Remember that new users may not
even know what the decorator close box does.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 14:14:17 +00:00
Stephan Aßmus
5266a73520 Applied patch by romain. Through refactoring, the volume name is already
retrieved before a volume is actually mounted and this fixes #4602. I have
applied the patch as is, although it contains some minor coding style violations,
since these have been there before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 14:01:04 +00:00
Stephan Aßmus
4cdd68e739 * Don't draw/clear the background if the parent view draws on children.
* Make use of the BControlLook method to draw labels.

Both fix ticket #4875.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 12:50:13 +00:00
Stephan Aßmus
c4e211feb6 * Refactored a method to draw a label when the location is already known.
(This one takes care of setting up the correct color.)
 * Added TODO about using either B_CONTROL_TEXT_COLOR, or elliminating that
   constant (which I am in favor of...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 12:48:18 +00:00
Axel Dörfler
90b5a0b261 * Renamed all DEC_* constants to CLICK_*.
* Renamed DEC_MOVETOBACK to CLICK_MOVE_TO_BACK, and DEC_SLIDETAB to
  CLICK_SLIDE_TAB.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 12:43:48 +00:00
Axel Dörfler
ba1d39e48f * Right clicking the resize area now always moves the window behind. This
obviously differentiates from BeOS behaviour, but I think it makes much more
  sense this way.
* Simplified DefaultDecorator::Clicked() by eliminating the "clicked" variable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35258 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 12:27:17 +00:00
Stephan Aßmus
10ddee8d8e Tweaked the alpha values to be more in line with the look when not blending.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 12:27:11 +00:00
Stephan Aßmus
61ac1a850f * Set the BLEND_FRAME flag when detecting that the parent view of the control
renders over children.
 * Support the BLEND_FRAME flag also when drawing BSliders.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35256 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 12:13:49 +00:00