Commit Graph

20894 Commits

Author SHA1 Message Date
Axel Dörfler
391fdf1e99 * notify_transaction_listeners() would always remove all listeners when it
was asked to. Unfortunately, it also removed the TRANSACTION_WRITTEN
  listeners (that were added before notifying other listeners), so that BFS
  could never free up space in the log. Now, it will only remove the listeners
  it may remove. This fixes bug #2024.
* Rearranged functions a bit, moved notification/listener related private
  functions together.
* Added tracing entry for written transactions as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 10:39:01 +00:00
Axel Dörfler
797a92d84d * Made super block log handling endian-safe.
* Made all debugging functions endian-safe.
* Added tracing for log entries.
* Added new KDL command "bfs_journal" to dump all pending log entries.
* When BFS_DEBUGGER_COMMANDS is defined, the LogEntry class will also track
  the transaction ID it belonged to.
* The "bfs" KDL command now sets some useful debugger variables.
* The "bfs_allocator" KDL command now accepts the group index as 3rd argument.
* Renamed Journal::_TransactionListener() to _TransactionIdle(), as that's
  all it is for.
* Removed TODO comment in Volume::WriteSuperBlock(), as it's actually not true.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 10:32:03 +00:00
Stephan Aßmus
c9d15f8cdb Applied patch by Duane R. Bailey:
* Replaced occurances of "..." by B_UTF8_ELLIPSIS in the apps folder.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 09:19:56 +00:00
François Revol
038ed3d1f2 Add _SC_PAGE_SIZE sysconf().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 01:08:18 +00:00
Ingo Weinhold
bd31302c3c Added small tool diff_zip that I used for building the latest optional
packages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 23:40:12 +00:00
Michael Lotz
31f63eb4da Fix broken build due to forgotten definition of the reserved virtual functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 22:00:19 +00:00
Axel Dörfler
18d3e65ebd * The beginnings of an activity monitor application. Very bare and feature-less
right now, but it's already working (and shows that we better compute our
  system_info::cached_pages field directly).
* I am not sure if we want to keep this app here, merge it with
  ProcessController, or have it as a separate (3rdparty) app. Opinions welcome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 21:30:50 +00:00
Michael Lotz
6a7b827501 Forgot to use nothrow for the allocation of the interface descriptor. Thanks
for pointing that out Stephan!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 20:19:38 +00:00
Stephan Aßmus
636bff2fd2 Patch by Philippe Saint-Pierre:
* Revised the RLE algorithm used for compressing the boot splash artwork to
  handle uncompressed runs.
* Compress the RGB channels separately for improved efficiency.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 20:10:50 +00:00
Stephan Aßmus
5c21588c29 Addded various people who have contributed lately.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 20:00:58 +00:00
Michael Lotz
5aa70ae110 * Add a AlternateAt() method to the BUSBInterface class that can retrieve the
usb_interface_descriptor of an alternate interface without having to switch
  to it.
* Add some reserve bytes to all classes and add some reserved virtual slots
  where the objects are publically constructable.
* Remove the source compatibilty defines that were briding the old USB* with
  the new BUSB* class names.
* Implement the usb_raw side of getting an alternate interface descriptor.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 19:59:24 +00:00
Stephan Aßmus
d7aa5bb89c Oh boy. I think I fixed the issue by understanding it with the right side of
my brain, while the left side is still puzzled. So it's hard to put it into
words. Basically, there was an unwanted feedback loop when applications first
scrolled vertically and then horizontally (or vice versa). Because of the
feedback effects between BView and controlling BScrollBar, and because BView
controlls both scrollbars at once, it is important not to set the scrolling
offset of an unaffected ScrollBar, since we might actually be comming from the
SetValue() function of the other scrollbar. Fixes #1913 and possibly more,
going to check up on the other scrolling related bugs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 17:59:22 +00:00
Stephan Aßmus
205cf95ff6 More cleanup, disabled accidentally left on tracing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 17:53:43 +00:00
Stephan Aßmus
2f8dc04583 More style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 16:56:30 +00:00
Stephan Aßmus
1158eeac58 According to my tests on R5, a BScrollBar with a proportion of 0.0, the value
that it has when you never set it, uses the large step to figure out the
proportion it should display. This fixes Pe's scroll bars to display the
"correct" proportion. Of course the proportion is only correct if the large
step indeed equals the page size. Fixes #1758.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 16:47:43 +00:00
Michael Lotz
a43222b925 * Implemented setting an alternate interface through the USBKit library based
on a patch by Salvatore Benedetto, adapted to the usb_raw interface by me
* Added two convenience functions IsStalled() and ClearStall() to USBEndpoint

Both changes are actually untested, so if you have a use for them and encounter
problems please shout.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 16:22:59 +00:00
Stephan Aßmus
c2234e0598 * Added optional tracing to ScrollBar.cpp.
* Fixed line breaks to not exceed 80 char limit.
* Removed any trailing spaces.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 16:22:10 +00:00
Michael Lotz
49df4099d1 Implement a binary compatible way of setting an alternate interface through
usb_raw.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 15:57:26 +00:00
Ingo Weinhold
25eb8cd717 * Renamed pipefs.cpp to fifo.cpp.
* Removed the pipefs functionality. We only need to support FIFO nodes.
* Renamed the remaining pipefs_*() functions to fifo_*().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 15:50:28 +00:00
Ingo Weinhold
a1db78790d Removed pipefs from the built-in modules.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 15:45:07 +00:00
Stephan Aßmus
6a1d169c52 * Removed trailing spaces in ScrollBar.h
* It's not a good idea to archive fProportion as int32, seeing it's a float
  on [0..1].
* Implemented archive constructor for BScrollBar. Untested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 15:11:31 +00:00
François Revol
658aafcb62 Add recent files to the Open File menu.
Add dropped files to the roster's list of recent files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 14:52:43 +00:00
Stephan Aßmus
27000126fd Fixed the build of the registrar for the app_server test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 14:39:22 +00:00
Stephan Aßmus
20eb92f20a * Fixed missing include.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 14:36:14 +00:00
Michael Lotz
8024db25a8 Change just host_controller_info to usb_host_controller_info for the sake of
clearity as suggested by Philippe Houdoin once and brought to my attention by
Slavatore. As this definition is completely private to the USB stack it would
not have caused any conflicts though.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 14:14:42 +00:00
Michael Lotz
3568352d8d When a partition was unpublished from devfs the devfs_delete_vnode() would
also free the device info which it must not do, as this info is in fact just
a pointer to the device info of the raw node. Removing a raw device that had
partitions published therefore always lead into KDL when closing the raw
device after unpublising the partition, as the close_hook pointer which sits
in the device info now was 0xdeadbeef. This should make for example unplugging
USB devices work as expected.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 12:07:45 +00:00
Axel Dörfler
a63f51dea4 * Enabled a few more chipsets that I found PCI IDs for. Only the i845G one has
actually been tested (see ticket #1969).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 09:37:14 +00:00
Michael Lotz
fc38019945 Rename vfs_stat_entry_ref() to vfs_stat_node_ref() as that's what a dev_t and
ino_t combination really is.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 09:18:27 +00:00
Ingo Weinhold
ea39c6377e Might help gcc 2.95.3 to resolve its perceived overloading of the
function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 03:13:11 +00:00
Ingo Weinhold
6e36a49e62 * Added _kern_create_pipe() syscall, creating a pipe as an entryless
FIFO. Reimplemented pipe() to use it.
* pipefs is no longer mounted. Will remove the superfluous code soon.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 02:49:12 +00:00
Ingo Weinhold
ad3a563d43 create_special_node() supports creating a special node without entry,
now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 02:44:37 +00:00
Ingo Weinhold
3af6d6a43a Commented out some debug output. The sources will be reworked soon.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 02:42:18 +00:00
Ingo Weinhold
9583c41d8a Added TODO regarding potential deadlock.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 02:35:07 +00:00
Ingo Weinhold
d4016ffdbb * A pipe can now be inactive and active. After creation it remains
inactive until at least one reader and one writer have opened it. As
  long as it is inactive, reads from and writes to it just block. When
  active, they behave as before (if there's no counterpart writes fail:
  SIGPIPE + EPIPE, reads return 0). When both reader and writer count
  drop to zero, the pipe becomes inactive again.
* Allocate the ring buffer lazily when the pipe becomes active and
  delete it when it becomes inactive.

This makes the pipe implementation FIFO compatible. IOW, FIFOs work as
expected as far as I've tested them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 01:40:01 +00:00
Ingo Weinhold
a8cba5904f The rootfs was calling remove_vnode() on nodes for which it might not
have had a reference.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 00:27:36 +00:00
Ingo Weinhold
717705d816 We get a reference to the node from create_special_node(), so we have to
release it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 00:26:15 +00:00
Ingo Weinhold
7ffafac8d7 * Reorganized the FS interface a little:
- Moved most file_system_module_info hooks into separate structures.
    Those that operate on mounted volumes to fs_volume_ops, those
    operating on a vnode to fs_vnode_ops.
  - Got rid of the fs_volume, fs_cookie, fs_vnode typedefs. We use void*
    again.
  - Instead of a void* volume and node cookie hooks are passed a
    fs_volume and fs_vnode structure pointer, which contain the cookie
    and an ops pointer (fs_volume a few more things).
  - The VFS {new,publish,get,...}_vnode() functions take a fs_volume*
    instead of the volume ID. So does vfs_get_fs_node_from_path().
  - Added type and flags arguments to publish_vnode() and the
    get_vnode() hook and removed the type argument from lookup() hook.
    Added vnode::type using formerly unused bits to store the node type.
    Simplified a few things in the VFS due to the now always available
    node type.
  - Added fs_volume_ops::{create,delete}_sub_vnode() and
    fs_vnode_ops::get_super_vnode() hooks. They are used to support file
    system layers, e.g. allowing to extend an FS not supporting BeOS
    attribute with attribute support. Needs some more work in the VFS.
  - Added fs_vnode_ops::create_special_node() hook for creating special
    nodes (e.g. FIFOs).
* Adjusted the built-in file systems and BFS according to the interface
  changes. Removed all other FSs from the image for the time being.
  We'll see whether further API changes are necessary before porting
  them.
* Adjusted the bfs_shell accordingly.
* Implemented create_special_node() in rootfs to support special nodes.
* Added support for FIFOs:
  - Added syscall _kern_create_fifo() (used by mkfifo()), which creates
    a special node (type S_IFIFO) in the respective file system.
  - When a special node is published the VFS creates a respective sub
    node. Currently only FIFOs are supported.
  - Added a little support for FIFO subnodes by using functionality from
    the pipefs.
  - Added mkfifo to the image. It can create FIFOs in the rootfs, but
    the FIFOs aren't really usable ATM, since they still work like
    pipes, i.e. readers and writers need to have them open at the same
    time.
* Some smaller changes in the VFS:
  - Made the *_CALL macros nicer to use (vargs).
  - Refactored FS entry lookup into new function lookup_dir_entry().
  - create_vnode() no longer just calls the FS create() hook. First it
    looks up the entry and uses open_vnode(), if it already exists. This
    is necessary for two reasons: 1) The FS might not support create()
    while still allowing to open() entries. 2) When the FS has other
    layers on to of it (or the respective node) it might not be
    responsible for opening the node.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 23:05:16 +00:00
Michael Lotz
5d7ee5e84a * Replace the path based lstat in the device watcher with the new device/node
based one. The path based version could not have worked for entry removed
  notifications at all as the node is removed from the directory at this point
  already
* Forgot to delete the device watcher instance after removing all monitors
* The PartitionRegistrar in DeleteDevice() was set to already locked which is
  not the case
* Someone probably forgot to add a PartitionRegistrar to the media checker - it
  did register the device on each run but never actually unregistered it, which
  obviously messed up the reference counting a bit

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 22:08:47 +00:00
Michael Lotz
efb965d559 Introduce vfs_stat_entry_ref() that allows to stat a vnode based on a dev_t
and ino_t instead of a path. Supposed to work with node monitoring messages.
Took the name from vfs_entry_ref_to_path() that takes the same arguments, but
suggestions for a better name are welcome.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 22:01:05 +00:00
Stephan Aßmus
d0fc7c65c6 Patch by Philippe Saint-Pierre:
* Implemented RLE compression for the boot splash images, resulting in
  smaller kernel and boot loader.
* Only the boot loader contains the RLE compressed images, the decompressed
  buffer for the icons is passed to  the kernel via kernel args.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 21:15:43 +00:00
Michael Lotz
86dd3875cd * Updating device->removed must be protected by the device lock
* Also updating device->open_count must be protected by the device list lock

This fixes the (unlikely) case where a device was removed from usb_disk
standpoint while it still had an open read/write/ioctl operation.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 16:42:34 +00:00
Michael Lotz
b6b5de0741 Use a more reasonable timeout of 1 second for synchronous USB requests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 15:14:30 +00:00
Axel Dörfler
0e4edbeafa * Added checks to (hopefully) all write/create functions to bail out early
if the volume is read-only. This should help with #2028.
* Removed unused bfs_[de]select() functions.
* Removed most paranoia checks - now that we control both sides of code,
  this would just hide eventual problems in the VFS code.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 12:24:11 +00:00
Stephan Aßmus
85f0201086 Rene left tracing turned on in his last commit to this file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 12:07:10 +00:00
Axel Dörfler
98b7d71b7c The wait_for_notifications() function now detects if it has been run from
within the notifier/writer thread, and will then flush the notifications
directly. This should fix #2008 again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 10:23:11 +00:00
Axel Dörfler
355914a2cd * Enlarged maximum kernel size to 2 MB - this is the code the boot loader's
MMU code reserves for the kernel, and we hit that limit recently with the
  addition of the boot splash code.
* This fixes the boot crash as triggered by Stippi's recent changes to the
  splash image.
* Cleanup (doxygen comments, line length).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 10:16:49 +00:00
Michael Lotz
b04afa2413 * Another tiny cut in stack load time: do not delay after setting the current
configuration of a root hub
* Cut down on number of retries to set the initial device address

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-05 00:38:38 +00:00
Michael Lotz
f1a9c3c214 Implement a downcounter for the synchronize cache command. There are devices
that do not support it (probably because they do not have a cache at all like
in flash media) and this should at least avoid spamming the syslog when this is
the case. It will try 5 times and then disable syncing for that device. Untested
as of yet though.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 23:46:14 +00:00
Rene Gollent
0ee109102b Forgot about this static function.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 23:41:01 +00:00
Rene Gollent
45219b61ea Modify ProcessController's System Resources and Caches item: it
now shows cache and total committed mem respectively.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 23:40:09 +00:00
Rene Gollent
4e103cc0e7 Remove cache mem indicator from this app.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 23:39:30 +00:00
Michael Lotz
a380bc2513 * Add support for devices with multiple LUNs
* A device now has one or more LUNs which are used for LUN specific functions
* Adapted these LUN specific functions to the new design and also change the
  (un-)publishing accordingly
* Handle "no media" cases more correctly
* Output some interesting device infos also with tracing disabled
* Add some more helpful debug output here and there

Devices that provide multiple logical units (like those n in 1 card readers)
should now be usable with usb_disk too. Also we don't fail when a device is
attached which currently does not contain a media. Instead handle media changes
correctly so inserting a media works as expected. Note that hot-unplugging and
media removal still does not quite work right at the devfs or disk device
manager level and easily crashes the system.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 22:51:29 +00:00
Jérôme Duval
f27659f55e * GRAY8 is 8 bits
* typo


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 19:45:11 +00:00
Axel Dörfler
d6e60839e9 * Resolved a TODO: determine the log size depending on the size of the volume.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 19:32:39 +00:00
Stephan Aßmus
75ab36bd50 Refined again the boot splash artwork. Everything is now centered as a whole.
The dividing line is back although with a little more spacing. Also the icon
spacing is a little increased and I added a subtle outline as well as a little
brighter background for the active icon look. The placement logic is now not
independant of each other anymore, otherwise I couldn't center both images
as a unit. But only the vertical placement is affected.
Comments as always on the commit mailing list... :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 19:13:00 +00:00
Axel Dörfler
64b7ef1d0f * As briefly discussed in ticket #2024, I've changed BFS to allow to mount
volumes with a broken log. It will only allow the volume read-only then,
  though (unlike Be's BFS), as your disk could be corrupt.
* Added InitCheck() method to the RecursiveLock class, and now only check
  this one in Journal::InitCheck() instead of also replaying the log there;
  this is now done directly in Volume::Mount().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 18:59:17 +00:00
Rene Gollent
0d69c8378f On my system's BIOS / monitor there seems to be a race condition between grabbing the EDID info
and setting the video mode. The result of this is a garbage display every other boot. By 
introducing a small wait before doing the mode set, it works every time. Will see if I can
reduce the spin timer though with some more tests.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 15:12:11 +00:00
Axel Dörfler
7686d00c6f * This should fix a deadlock as reported by bga.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 15:11:37 +00:00
Axel Dörfler
807d3aa8e3 * If BFS's Journal::_WriteTransactionToLog() noticed there wasn't enough free
space left for the new log entry, it did call cache_sync_transaction(), and
  then just assumed the space would be ready. But since the transaction could
  have been written before that call by the block writer, and since the
  _TransactionWritten() hook is now called asynchronously,
  cache_sync_transaction() actually has to flush all pending TRANSACTION_WRITTEN
  notifications before returning to the caller.
* To implement this, block_cache now publishs a condition variable, and
  wait_for_notifications() adds a fake notification that signals that one.
  Since the notifications are handled in FIFO order, this guarantees that
  the previous TRANSACTION_WRITTEN hook is done.
* notify_transaction_listeners() could accidently delete notifications that
  still had pending signals. Now, it will defer the deletion to the notification
  thread instead in that case. This should fix bug #2008.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 14:02:30 +00:00
Axel Dörfler
0bb7a9c0ca * Journal::_TransactionWritten() updated Volume::LogStart() before it actually
wrote the super block, so there was a race condition with what
  _WriteTransactionToLog() assumed was already written there (if it managed to
  write the log entry before the super block was written by
  _TransactionWritten(), and a reboot happened just then, the log start could
  point to an invalid log entry). Not very likely, but it could happen.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 13:54:18 +00:00
Axel Dörfler
5ebf78f405 * More or less reverted r24782; most ifdef's are NOT needed when running
Haiku code, they work around buggy BeOS code not present on Haiku.
* If this code turns out to be problematic under Haiku (Bruno, did your changes
  make any difference at all?), then please fix the problems in the Storage
  Kit, don't enable work-arounds for BeOS.
* Simplified the macro check as suggested by Ingo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 11:06:33 +00:00
Ingo Weinhold
9181e9cbcf * Used the original size for vmdk Extent Description, not the
sector-aligned one.
* Truncated the image a little too short.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 01:24:26 +00:00
Rene Gollent
ddd25e757b * AboutSystem now shows cache usage together with total/available mem.
* Small cleanups.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 00:40:42 +00:00
Bruno G. Albuquerque
6b0feadc93 - Added Brazilian(ABNT2) keymap originally included in the International
Keymap Pack by ITO, Takayuki and licensed as public domain.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 00:34:11 +00:00
Bruno G. Albuquerque
f040ef9a84 Removed bison and flex as both are now part of the development package.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-04 00:15:41 +00:00
Ingo Weinhold
702421fa41 Fixed incorrect getopt() specification: -c and -H don't have arguments.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 23:54:55 +00:00
Ingo Weinhold
7c529c2415 * Renamed vmdkheader to vmdkimage and changed it to create a full image
by default (new option "-H" will create the header only). Option "-c"
  will clear the image.
* Adjusted build_haiku_image accordingly. vmdkimage is way faster and
  more portable than the former vmdkheader+dd combo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 21:18:18 +00:00
Jérôme Duval
2608583e58 merging acpica-20080321 in trunk
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 20:49:28 +00:00
Bruno G. Albuquerque
381016e1e0 While tracking a mimeset bug when building under Haiku, I found these. Not sure
if these changes are correct byt they seem to make sense. Ingo?

- Haiku uses the same code that BeOS/Dano/Zeta uses for mime related stuff
  during the build process. Added checking for HAIKU_HOST_PLATFORM_HAIKU where
  relevant.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 20:09:36 +00:00
Jérôme Duval
652df41ee5 fix warning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 18:25:27 +00:00
Jérôme Duval
b5c24e59f2 fix typo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 18:14:52 +00:00
Michael Lotz
06da81f012 Implement node monitoring in the kernel disk device manager.
* Added {Create|Delete}Device() analogous to {Create|Delete}FileDevice
* Added a small DeviceWatcher class that reacts to entry creation/removal
* Implemented a way to start/stop node monitoring
* Start watching for devices after the boot volume has been mounted and the
  the second initial scan was run

The disk device manager now creates and scans a device when a "raw" node is
published and deletes the device on removal. This makes hot-plugging of disk
devices (for example memory sticks using usb_disk) work. Their partitions will
be scanned and published so they can be mounted. Somehow the removal of the
partitions does not yet work however, any insights are welcome.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 18:14:11 +00:00
Stephan Aßmus
bacaf1148c Don't display error when BRoster::Launch() returns B_ALREADY_RUNNING...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 17:21:34 +00:00
Stephan Aßmus
64379118a9 * Revised boot splash artwork, the logo is back in the lower right corner,
the icons are centered.
* The boot loader and kernel now use the placement info that
  generate_boot_screen now generates.
* Made the code that draws the images handle the case where any of the images
  is larger than the frame buffer.
* All drawing functions need to know the image width (analogous for bytes per
  row).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24773 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 14:24:10 +00:00
Axel Dörfler
e63c117011 Looks like some bloke forgot to commit *some* files that should have been part
of r24768 (block cache notification mechanism rewrite).
Thanks for the note, Vasilis!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 14:14:27 +00:00
Axel Dörfler
4b7af69340 * I'm not sure if that puts more or less pressure on stippi, but the
PackageInstaller, ZipOMatic, and the Expander now all have the same
  icon (instead of none, resp. a BeOS bitmap icon).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24771 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 12:39:06 +00:00
Axel Dörfler
70f87b87d9 Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 12:19:44 +00:00
Axel Dörfler
9a87228642 * Removed the "transaction_changed" leftover member.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 11:22:14 +00:00
Axel Dörfler
816957bd74 * Decoupled notifications from the block cache functions; they are now
called without having the cache's lock held.
* The only downside to this approach is that ending a transaction now needs
  additional memory, and might therefore fail - that could be fixed by
  allocating that memory upfront with the start of the new transaction,
  though.
* Therefore, I reverted the cache lock to a benaphore, as the recursive
  lock is no longer needed.
* The block writer thread is now a block writer and notifier thread: it will
  wait for up to 2 seconds on the sEventSemaphore, and if nothing comes in,
  it will continue with its previously sole job.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 11:21:00 +00:00
Stephan Aßmus
f408d9a227 * Renamed placement constants to fit into the existing scheme.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 10:23:03 +00:00
Stephan Aßmus
a6e227c551 * Changed the generate_boot_screen build tool to take placement parameters
for the logo and the icons separately.
* Image data output uses full line width.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 10:19:00 +00:00
Stephan Aßmus
2af5f8952c Applied patch by Clemens Zeidler:
* The Media preflet itself is now font sensitive by using the new layout
  management.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 09:53:24 +00:00
Stephan Aßmus
13b895c5c6 Applied patch by Christof Lutteroth:
* The count/info view in Tracker truncates the text in a better way when
  it does not fit, and also used the space of the barber pool when it isn't
  displayed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 09:04:07 +00:00
Stephan Aßmus
42014658ad Applied patch by James Woodcock:
* Implemented POSIX getpagesize() function in libroot.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 08:50:56 +00:00
Axel Dörfler
025b367502 * Renamed publish_node() to new_node().
* Introduced a new publish_node() which then actually publishs the node,
  similar to the VFS's new_vnode(), and publish_vnode() semantics.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 08:24:50 +00:00
Ingo Weinhold
a5140cad6a cache_end_transaction() doesn't remove the transaction, so that the
check in notify_transaction_listeners() didn't hold, although the
cache_hooks were deleted anyway. I've introduced a listener_change
counter to detect changes to the listener list while iterating, since
any change makes the iteration unsafe. Should fix bug #2008 for real.
Nevertheless I thing the transaction listener concept needs revision.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 02:24:46 +00:00
Michael Lotz
3130aa793d Change the NodeMonitorService lock from a mutex to a recursive_lock. This
allows event listeners to add new listeners inside a node monitoring event
(i.e. if one wants to add a listener for the entry that has just been created
and triggered the current notification).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 23:20:37 +00:00
Michael Lotz
2509807a53 Change publish_node() of the devfs to not insert the node into the directory.
Instead return the directory vnode, so the calling function can insert it after
all vnode initialization is done. Otherwise entry created notifications are
sent upon inserting the node into the directory for vnodes that are not yet
fully initialized (i.e. they have no type or the device hooks are not yet set).
That would cause for example ioctls to fail when someone would react to a
notification of a newly created device.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 23:07:22 +00:00
Jérôme Duval
f6604eaad7 updated libpng to 1.2.26
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 20:58:54 +00:00
Karsten Heimrich
e1a5b29760 * gcc4 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 19:17:59 +00:00
Axel Dörfler
9da0e4408d * Added MIME type for packages for our PackageInstaller based on the
patch by Philippe Saint-Pierre that is part of ticket #2006.
* Added sniffer rule.
* For now, added package icon without any flags.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 16:09:48 +00:00
Axel Dörfler
12952eddd7 * Quick fix for a possible deadlock I introduced with the block_cache
idle notification. We should rework the cache notifications to work
  asynchronously.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24752 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 15:54:22 +00:00
Ingo Weinhold
0931d2f309 Use the thread-safe getpwuid_r() instead of getpwuid().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 15:09:50 +00:00
Ingo Weinhold
f8cb30712e * Replaced the dummy implementations of the <grp.h> and <pwd.h>
functions by ones reading /etc/{group,passwd}.
* Added quasi-standard getpwent_r() and getgrent_r().
* Added _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX sysconf()
  constants.
* Moved initgroups() and getgrouplist() definition to grp.cpp. They use
  the same backend as the <grp.h> functions.
* Set the permissions of files created by the build system to what they
  should be on the image (executables: 755, others: 644). Otherwise only
  root could do anything under Haiku.
* Added build system variables HAIKU_ROOT_USER_NAME and
  HAIKU_ROOT_USER_REAL_NAME to customize name and real name of Haiku's
  root user.
* Added build system rules AddUserToHaikuImage and AddGroupToHaikuImage
  for adding additional users and groups (by default only root user and
  group and a "users" group are created).
* Adjusted BIND port and coreutils config.h files according to what
  features have become available.
* Fixed HAIKU_DOCUMENTATION_OBJECT_DIR definition. Untested, but it used
  a wrong variable name before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 14:02:52 +00:00
Axel Dörfler
38c4c33487 * A notification can cause a transaction to be deleted - in this case, the
block_writer() as well as notify_transaction_listeners() must update their
  data or quit. This fixes newly introduced bug #2008.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 13:51:34 +00:00
Axel Dörfler
33808d63f4 * AttachUser() now creates the user directory if it's not there yet. Added
a TODO comment that find_directory() won't return the correct directory in
  a multi-user environment. This fixes bug #2003.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 13:04:08 +00:00
Axel Dörfler
4f5bc0cfe9 * Reenabled used page reporting based on vm_available_memory().
* Prettyfied memory info in the sysinfo app.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 12:47:08 +00:00
Axel Dörfler
6b53669383 * Renamed vm_get_available_memory() to vm_available_memory() to fit better
into our usual naming scheme.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 12:30:06 +00:00
Ingo Weinhold
f9bf1195b8 Use a reasonable umask when creating directories.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 12:29:59 +00:00
Axel Dörfler
129d25e0da * Removed old /bin/init startup code - it hasn't been needed for ages anymore.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 12:27:25 +00:00
Axel Dörfler
62f892990b * Fixed several occasions of bugs with respect to the handling of
overcommitting stores:
  - has_precommitted was incorrectly set to true in the constructor
  - when a precommitted page was committed, vm_store::committed_size
    was still changed.
  - unreserving memory did not update vm_store::committed_size.
  - when precommitted pages were committed, their page count instead of their
    size was reserved.
* All this lead to bug #1970 which should be fixed now.
* Cleanup of vm_cache.cpp, no functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 12:19:28 +00:00
Stephan Aßmus
ace2d5ee37 HWInterface::Cursor() and therefor Desktop::Cursor() accessed the
current cursor without locking, and did not add a reference while
using the cursor. I have tried to solve both problems by introducing
a simple ServerCursorReference class, which makes sure that the
reference count is properly maintained. There are only two places
where this code was even used, from within ServerApp and when taking
screenshots. Axel, you mentioned in #837 that the code is unsafe, is
this what you meant? This hopefully fixes #837, but it is very hard
to reproduce in the first place, I will close the ticket, but it should
just be reopened if ever encountered again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 11:12:39 +00:00
Stephan Aßmus
42cf275606 The scale of a state does not influence the origin. Only previous states
and their origin and scale influences the current state's origin, since
they can be regarded as within the parent state's coordinate system.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 11:04:03 +00:00
Axel Dörfler
0aee496bd0 * block_cache_private.h is no longer needed, moved its contents into
block_cache.cpp.
* Fixed warning.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 10:44:08 +00:00
Axel Dörfler
3c78c04589 Resolved a TODO in Journal::Lock() that Urias reminded me about:
* BFS now uses a transaction listener that flushes the current transaction
  in case it is idle; before, transactions would always be kept open when
  they weren't large, so that the block writer could not write back the blocks
  (they were busy from its POV).
* This solves the described problem of the screen resolution not being written
  back even after minutes of inactivity.
* Renamed _TransactionNotify() to _TransactionWritten() to differentiate it
  a bit more from the new _TransactionListener().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 09:46:34 +00:00
Axel Dörfler
16d8ff2dad * Added a TRANSACTION_IDLE notification that is sent when the transaction
hasn't been used for more than 2 seconds.
* Replaced the block_cache::lock benaphore with a recursive lock, so that
  you can call cache functions from within the notification listeners.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 09:37:22 +00:00
Ingo Weinhold
de73100825 Also check whether the supplied vnode is a directory, if there's only
one path component.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 01:55:37 +00:00
Ingo Weinhold
0cc0b6fc8f * Fixed resolution of symlinks path components, broken since
r24721/r24722. After resolving a symlink we weren't updating the local
  type variable to the type of the link target, so that the directory
  check in the next iteration would always fail.
* Added TODO.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 00:51:43 +00:00
François Revol
b9044f36d9 Was missing BFilePanel class declaration.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 23:09:21 +00:00
Oliver Ruiz Dorantes
4b7428b564 - Implement the server understand the Inquiry complete, and the Inquiry result.
- With this, we should be able to discover other devices, but not tested yet. No application to use this part of the kit



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 21:59:23 +00:00
Oliver Ruiz Dorantes
1ba54b5b31 Fix correct handling of more than one event wanted in a single request
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 21:51:31 +00:00
Oliver Ruiz Dorantes
1f3aa49890 Complete asking the server all the events needed to perform a complete(basic) discovery process
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 21:48:05 +00:00
Michael Lotz
ec6da14fee Adding device ids for the i965GM chipset present in my laptop to the
intel_extreme driver and agp_gart. These worked for me for quite some time now.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 20:48:14 +00:00
Michael Lotz
4ad0015d56 * Retry some times when the device reports it is not ready
* Use the CBW_SIGNATURE define instead of the numeric value

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 20:43:45 +00:00
Michael Lotz
111522f174 When initializing a UHCI controller, ensure that the interrupts are disabled
before routing them from the BIOS. Also clear pending SMIs when disabling
legacy support. Might help with some legacy support issues and probably
introduces others instead...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 20:40:45 +00:00
Michael Lotz
a93bd0c452 Cutting down on unnecessary per-controller delays when starting up the USB
stack. The root hubs do not really need a powerup delay and as they are not
used until all initialization is done, this gives plenty of time to stabilize
the power. Therefore remove the powerup delay for root hubs and reduce the
stabilization time to zero. Also remove the define for the first explore delay
as it is not used.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 20:37:57 +00:00
Michael Pfeiffer
1059b4e746 Added Haiku, Inc. to copyrigth text.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 18:52:51 +00:00
Michael Pfeiffer
72497a44d7 Read partition table using BDiskDevice from first disk.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 18:45:30 +00:00
Axel Dörfler
ebe5326de3 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 18:21:47 +00:00
Axel Dörfler
3dacc609c5 Applied patch by Euan Kirkhope:
* Imported FreeBSD driver "sk" as syskonnect into the Haiku tree, and
  wrote the necessary glue code to let it run.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24723 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 18:17:28 +00:00
Axel Dörfler
b987779d7f Revised my previous patch as outlined in the previous one:
* No longer checks for the path delimiter twice.
* Now also checks if the first part of the path is a directory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 17:59:51 +00:00
Axel Dörfler
6800e4f8ba Reverted r24720, and at least fixed the problematic return code after the
first loop - the vnode passed in would still need to be checked, though.
Eventually, it would be nice to move the check to the top, though, so that
we don't need to search for the patch delimiter twice.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 17:39:52 +00:00
Bruno G. Albuquerque
b48c7f231a - vnode_path_to_vnode() now returns B_NOT_A_DIRECTORY instead of B_NOT_ALLOWED
as expected by POSIX programs. This allowed be to compile Haiku under itself
  without any hacks at all, so I guess this means that now we are officially
  self-hosting!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 15:38:01 +00:00
Stephan Aßmus
c397aae3cc * Again, I forgot to svn add some files. Sorry. Build should be fixed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 13:49:39 +00:00
Axel Dörfler
c41a74e8f3 pthread_detach() no longer fails, as we currently have all threads
detached. We would need to have a hash that contains the thread data to 
be able to comply with the specs AFAICT.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 12:17:02 +00:00
Axel Dörfler
10f0fc8f20 * Implemented sigwait().
* Not sure if it works as intended, as the specs are a bit vague.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24717 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 12:15:14 +00:00
Stephan Aßmus
4d3ebacc42 Argh! Forgot to svn add these files. Should have been part of last commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 08:06:39 +00:00
Stephan Aßmus
1b7f76bcfc Applied Patch by Frederik Modeen with some changes by myself:
* Created Settings window similar to R5 MediaPlayer.
* Prepared loading and saving of settings.
* Settings menu entry is hidden for the time being, since these new settings
  do not actually have any effect yet.
* Prepared loading and saving of Playlists.
* ZETA Playlists can be dropped on the Player and should load fine.
Myself:
* Cleanup in MainWindow.cpp for line width limit.

To Frederik: I removed the buttons again from the Playlist window, since they
don't do anything yet, and the features are available from the menu as well.
An icon bar would be better, IMHO.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 07:42:35 +00:00
Maurice Kalinowski
fb16552f1d * get reader.media_addon compiling (both gcc2 and 4)(used for testing BFileInterface node kind)
* warning/style fixes
* removed some dubious comments :)
* no behaviour changes so far...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-31 21:23:38 +00:00
Michael Lotz
01533b17a2 Introduce a simple usb_disk driver that supports USB mass storage devices of
the bulk-only class using transparent SCSI commands (i.e. most of the current
external harddrives and flash media). It emulates the few SCSI commands needed
to get this sort of devices working and does not interface with the SCSI
subsystem. This makes it far easier to get working and also far better fits
how the USB stack works (as drivers can be dynamically rescanned when device
changes occur). This will allow for easy dynamic un- and replugging at runtime.
Note that while the device is currently published when you plug something in at
runtime, the partitions are not scanned and published automatically. It works
however if you have the device plugged in at boot.
I haven't added this driver to the image yet, but if properly installed and
with boot module links to the driver and USB stack, it allows to boot Haiku
from USB media like memory sticks or external harddrives.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-31 20:01:57 +00:00
Michael Pfeiffer
5f96acc41e Forgot to remove debug code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24712 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-31 19:48:03 +00:00
Michael Lotz
550f245a9d This was probably changed by accident in r22886. It caused all read/write
pages calls of the fat filesystem to return an error instead of the effective
result. Please shout if this was done on purpose. I tested a bit with a fat
volume and where it failed previously when opening files it now works as
expected.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-31 19:47:00 +00:00
Axel Dörfler
c80e610789 * Added start of an implementation of pthread_cancel().
* Implemented pthread_setcanceltype(), pthread_setcancelstate(), and
  pthread_testcancel().
* In the previous commit, I also made pthread_private.h self-contained.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24710 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-31 18:49:19 +00:00
Michael Pfeiffer
af134c1d5e Fixed typo in header guard.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24709 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-31 18:41:12 +00:00
Michael Pfeiffer
3c3b25a889 Replace partition size pretty printing with a version by Ingo copied
from file Partitioner.cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-31 18:40:20 +00:00
Michael Pfeiffer
8e489f4889 Fixed jam build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-31 16:33:49 +00:00
Michael Pfeiffer
022152bc81 - Add shortcut for About window.
- Created 'bootman' directory in config/settings.
- Added file open/save dialog.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24705 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-31 16:28:36 +00:00
Axel Dörfler
a635399b07 * Rearranged pthread thread support a bit: there is now a pthread_thread
structure that is attached (via TLS) to each pthread.
* Implemented support for pthread_cleanup_{push|pop}().
* I haven't really been able to test these changes, yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24704 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-31 15:10:00 +00:00
Stephan Aßmus
f946336faa * Better error output in LaunchButton
* Load both the app signature and the entry_ref from the settings
  in any case, but do not use the entry_ref if the entry does not exist
  anymore.
* Prefer the entry_ref when launch something. This make it much easier
  to launch a specific executable, especially if multiple copies exist on
  the harddrive. If launching via ref failed, or no ref is provided in the
  first place, fall back to launching by signature.
* Much improved error output when launching fails, now via BAlert.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-31 15:03:31 +00:00
Rene Gollent
7ca97741bd Clean up build break - library declaration line was doubled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-31 01:01:11 +00:00
Ingo Weinhold
32122dc5c4 * Since writers also might have to wait when there is still some room
in the buffer, they need to be notified after a read when their
  minimal write size requirement has just become satisfied. We were
  notifying only when there was no space in the buffer before, which
  caused bug #1755.
* Removed Inode::NotifyWriteDone(). It's not needed anymore, since we
  don't queue writers. They are always all notified, so that one doesn't
  have to notify the next one, when it's done.
* Renamed *Request* to *ReadRequest, since we do have WriteRequests now
  as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 22:35:41 +00:00
Oliver Ruiz Dorantes
fd223db5ad - Add capability to the server to handle Command Status events
- Add capability to reply the inquiry started command status



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 21:53:37 +00:00
Oliver Ruiz Dorantes
d581ede6e2 - Implementation of the discovery classes & RemoteDevice
. Support for StartInquiry method



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 21:48:17 +00:00
Karsten Heimrich
dca967073f * fixed crash in case one tries to print a new composed mail
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24696 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 21:13:32 +00:00
Karsten Heimrich
fe1500eeaf * got rid of fPageNumber as we the information always around
* rewrote parts of Begin/CommitJob, _StartPage, SpoolPage, _EndLastPage and _AddPicture


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 20:23:24 +00:00
Ingo Weinhold
9fe0705bee My previous change to getgroups() broke the getgroups(0) special case,
which e.g. "awk" didn't like.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 20:02:38 +00:00
Michael Pfeiffer
0255f41188 Implemented UI for bootman.
TODO:
- Implement/integrate low level stuff (see BootDrive.h)
  - reading the partition table
  - reading/writing the MBR
  - writing the boot menu
- Open file dialog for selection of backup MBR file
- Write error message in case of I/O errors
- Test



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 19:55:13 +00:00
Ingo Weinhold
e954dc800b Send SIGTERM on shutdown, not SIGHUP.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 19:11:18 +00:00
Karsten Heimrich
0bc5c11939 * some small code cleanup
* followed Rene' sugestion and constrain the clipping region, still we only
  get the "user" visible view region drawn, so there might be an other problem


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 18:50:36 +00:00
Karsten Heimrich
f1c61c2ada * naive implementation for DrawAfterChildren()
* resolved TODO in _RecurseView(), no need to call Draw() on views
  that are hidden or miss the B_WILL_DRAW flag, as there Draw()
  function would never be called according to the BeBook documentation



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 18:12:45 +00:00
Karsten Heimrich
5d81827b2c * push the states on the server instead on the client side
* DrawState::SetOrigin needs to take the view scaling into account
* set the orgin in BPrintJob, to be able to print more then one page properly

Note: This would make printing work on HAIKU as on BeOS, but still it does
      not because of 1; BPortLink size limit and 2; because we can only print/ draw
      the visible region of a view? I had to resize StyledEdit to a i.e 10000
      to test and to be able to print the full syslog.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 16:25:23 +00:00
Ingo Weinhold
1ed6a33cc5 Also publish /dev/tty. Opening it will open the controlling tty for the
current process.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 16:03:19 +00:00
Jérôme Duval
7522f3082d reduced MTRR min size to 512KB
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 14:25:01 +00:00
Jérôme Duval
a79869d9c4 forgot to merge this for ppc
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 13:03:52 +00:00
Axel Dörfler
6328832fba * Changed get_boot_item() API: it now also can retrieve the size of the boot
item entry.
* The bios_ia32 video platform code now stores the available VESA modes in
  the new vesa_modes kernel_args field.
* When configuring a VESA mode via settings file, it's no longer needed to
  specify the exact mode - the closest available mode is now used. This should
  help with bug #1962.
* frame_buffer_console_init() now also creates a boot_item for the VESA modes
  in the kernel_args.
* The VESA accelerant now filters the mode list to only contain modes that
  are actually supported.
* Moved non-shared vesa driver data into its own file vesa_private.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 11:01:41 +00:00
Axel Dörfler
5de171daf3 * Now presents 24 bit modes as 32 bit modes to the user to avoid confusion.
* screen_mode will not make a difference between 32 and 24 bit anymore in the
  equally operator.
* Some cards only support 24 bit instead of 32, for example Qemu VESA mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 10:53:45 +00:00
Ingo Weinhold
360be1fc45 * Implemented support for chroot:
- Added a "root" vnode to the io_context. It is used for resolving
    paths and converting nodes to paths instead of sRoot. Some more
    passing around of io_context structures was necessary.
  - Introduced a new lock sIOContextRootLock to protect
    io_context::root. The current uses of io_context::io_mutex
    (put_vnode(), remove_vnode() while holding it) looked too suspicious
    to use that mutex in vnode_path_to_vnode().
  - Added _kern_change_root() syscall and chroot() libroot function.
  - Added chroot coreutils program to the image. Funnily it seems to be
    much easier to set up a little jail than under Linux (just copy
    bash and libroot.so into respective subdirs; mount another pipefs
    if you want pipe support).
    With Haiku allowing direct access to directories via inode IDs
    jailing is obviously not very secure at the moment.
  - Added /var/empty to the image. It will be the chroot target for ssh.
* Changed vfs.cpp:get_cwd() so that the io_context::io_mutex is no
  longer held when calling dir_vnode_to_path().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 05:59:54 +00:00
Maurice Kalinowski
6938364b39 * Implemented BMediaRoster hooks GetRefFor, SetRefFor, SniffRefFor to access BFileInterface related file functions.
* Implemented BFileInterface class which was nearly empty so far. Added handling of messages passed to BFileInterface class.
* Added needed structs and message values to DataExchange.
* This is needed to get for instance the reader.media_addon to work. Usually one calls above functions to set a file to be decoded by the node. If the target is a consumer, they are used for setting the target for encoding data.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 01:35:58 +00:00
Karsten Heimrich
ae824ff9c8 * less code in the window ctor
* draw margins around the content
* always center the preview in its window



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 01:22:06 +00:00
Ingo Weinhold
290946ce80 * Implemented some basics for supplementary groups support:
- The kernel stores the group IDs in the team structure. They are
    correctly inherited on fork() and load_image_etc().
  - Implemented getgroups() for real, i.e. it retrieves the groups
    associated with the process.
  - Implemented setgroups(), initgroups() and (the BSDish)
    getgrouplist(). The latter two read the group information from the
    "group database" /etc/group (if existing).
  - Change the BIND port config, since we do have getgrouplist() now.
* The set-uid feature was broken when the path to the executable was
  relative, since we used stat(), which, in the kernel, uses the kernel
  IO context.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 00:08:13 +00:00
Ingo Weinhold
8c117a6d88 Added function vfs_read_stat() that also allows for stat()ing files in
the user IO context from within the kernel.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 23:57:34 +00:00
Ingo Weinhold
3bef7d0252 Added functions malloc_referenced[_{acquire,release}]() that implement
reference counted memory allocations. Can be used for sharing immutable
structures.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 23:55:34 +00:00
Maurice Kalinowski
999cd0acee * implemented BMediaRoster::StartControlPanel(). It queries a BControllable node with CONTROLLABE_START_CONTROL_PANEL message and returns the result to the caller (thx for help/suggestions from Marcus here). Needed to add appropiate structs and message value to DataExchange.h
* implemented BControllable::StartControlPanel(). The behaviour is supposed to be the one documented in the BeBook, meaning that it first checks if the BControllable node has been instantiated over an BMediaAddOn. If so, we investigate where the addon is located and try to launch it. Thus media_addons which have a control panel need to be compiled as an Application, not as an Addon. See r24664 as an example.
* inside BControllable::HandleMessage() call StartControlPanel for the message.
* MediaNodes having such a ControlPanel are rarely used as parameterwebs should provide you everything. But for instance the vst MediaAddOn uses it and some others do as well.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 20:53:01 +00:00
Maurice Kalinowski
81fa5e8026 * Adding LoggingConsumer to build, which is a demo addon provided by Be and included into Cortex once
* This is the first Addon inside Haiku which uses StartControlPanel(), which will be submitted later on.
* Cleaned up warnings



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 19:11:58 +00:00
Axel Dörfler
df06c6d8c0 Applied patch by PulkoMandy to have a 3 pixel wide border around the text
in the Terminal. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 18:22:56 +00:00
Axel Dörfler
f2879f52a3 * The mouse message now also contains the x/y delta, if available, in the
int32 fields "be:delta_x", and "be:delta_y".
* This way, you can discover if the mouse is moved against an edge or corner
  of the screen.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 17:46:01 +00:00
Karsten Heimrich
77b6a3f51b * code and style cleanup, no functional change...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 16:26:18 +00:00
Jérôme Duval
347f6f0414 added CMAP8 support
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 14:55:41 +00:00
Karsten Heimrich
55883aeef0 * implemented zoom in/ out using the option key and plus or minus
* implemented moving the page while holding the secondary mouse button down 
* implemented zoom in/ out with primary mouse button (press SHIFT to zoom out)
* show an appropriate cursor depending on the action when you press a mouse button


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 14:22:30 +00:00
Jérôme Duval
5d54b6c408 followed Ingo and Marcus' suggestion : be nice when called on file names shorter than raw, or when called in the device directory
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 14:10:46 +00:00
Jérôme Duval
9383fa4e01 added RGB15 support
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 14:01:15 +00:00
Jérôme Duval
ea8bf461cd added RGB24 support
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 13:40:00 +00:00
Jérôme Duval
dce81a0945 scan drives again once initialize is done
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 13:01:43 +00:00
Jérôme Duval
efb7e1703e assume the partition offset is zero when the device name terminates with /raw
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 12:59:12 +00:00
Axel Dörfler
e146dee317 * Enlarged the default resolution to a width of 1024 (ie. usually 1024x768).
* Refined the way how the default resolution is chosen: it now prefers the
  above with hi/true color over a width of 800 in hi/true color over the
  same order including palette modes.
* If no suitable mode could be found, it now chooses the first mode from the
  list, if any, so that a VESA mode is always used when possible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 12:58:20 +00:00
Ingo Weinhold
29674ea8cb Patch by Vasilis Kaoutsis:
* Check against maximum baud rate in cfset{i,o}speed().
* Changed some functions comments to doxygen style.
* Sorted speed macros in termios.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 12:52:10 +00:00
Ingo Weinhold
6287376408 Make weak symbols for all those inet_*() functions declared in
<arpa/inet.h>. Since they are renamed to __inet_*() by means of macros
(why anyway?), the functions won't be found e.g. by configure scripts
not including the header. Makes OpenSSH even more happy.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 12:41:04 +00:00
Axel Dörfler
313cc8a872 Accidently left the headers behind in a half cleaned way (that was me,
not Vasilis).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 12:38:54 +00:00
Ingo Weinhold
79e1d3770c Not that I know what I'm doing...
Moved nameser_compat.h to our public headers (arpa/inet) and include in
<arpa/nameser.h>. That's solved similarly in BONE. At any rate OpenSSH
is now happy that HEADER exists.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 12:37:05 +00:00
Axel Dörfler
a3e1fc11e0 Applied patch by Vasilis:
* Fixed warnings in Message.cpp and Messenger.cpp when building with GCC 4.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 12:24:19 +00:00
Axel Dörfler
a7f6ff0ff8 * Applied patch by Vasilis that updates the doxygen comment style.
* Shuffled functions around to separate the private from the public API.
* Renamed global static io_vectors to sVectors.
* Rearranged includes, replaced deprecated malloc.h with stdlib.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 12:01:57 +00:00
Jérôme Duval
76a9318758 missing new line
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 11:51:28 +00:00
Axel Dörfler
f54507d748 Applied patch by Gerald Zajac:
* Adds mode 1152x864 @60 Hz
* Adds mode 1400x1050 @75 Hz
* Adds a blank line between each of the different resolutions to make
  the list more readable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 11:41:55 +00:00
Axel Dörfler
4aef1c02ea Followed Marcus' suggestion and use strlcpy() instead of strncpy() for Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 11:19:27 +00:00
Maurice Kalinowski
083b91d4ba * Added Flanger and AudioAdapter audio addons from Cortex to the build
* Actually I could only try if they build and work inside the vm, I do not have sound available somewhere, so could please someone test whether the results are reasonable? They cannot be added to the image until someone approves that they are working fine...
* got rid of most compiler warnings



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 00:58:21 +00:00
Maurice Kalinowski
f9fd198ee3 prefer $(TARGET_LIBSTDC++) instead of stdc++ for being more generic (We do the same in libbe)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 23:06:09 +00:00
Rene Gollent
c6242cb287 media_server needs libstdc++ to link on gcc4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 23:02:01 +00:00
Axel Dörfler
6c14516a18 * Now uses the B_ALL_WORKSPACES flag when it's supposed to show on all
workspaces.
* It uses the Haiku-specific B_SAME_POSITION_IN_ALL_WORKSPACES to behave
  in the same way as before (which I couldn't really test, though).
* Some cleanup, removed extraneous white space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 19:12:50 +00:00
Axel Dörfler
9dbce7a4e7 * AS_CURRENT_WORKSPACE now holds a single window lock before retrieving
the current workspace.
* This should fix bug #1765 as far as the app_server is concerned.
* Cleanup, removed extraneous white space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 18:59:08 +00:00
Karsten Heimrich
b4bacb2a8a * some more cleanup
* remove doubled code, MarginView should have OrientationChanged(...) or something
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 18:56:26 +00:00
Axel Dörfler
89755088d7 * Extended the test to be able to switch to the workspace(s) as defined on the
command line.
* Using this, you can easily reproduce #1765 on BeOS, too. Ie. while it's also
  a bug in Haiku, this also shows a conceptional problem with the way LaunchBox
  switches to the current workspace. Stipp, any reason why it doesn't just let
  the window appear on all workspaces?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 18:26:39 +00:00
Axel Dörfler
f0b714c8b1 Wrote a small test app to see how BWindow::WorkspaceActivated() behaves.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 18:18:46 +00:00
Axel Dörfler
f89d079f4e * MultiAudioAddOn::_RecursiveScan() now checks the depth of the recursion,
and bails out early.
* InitCheck() now actually returns an error if something went wrong during
  initialization.
* Cleanup, part III.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 16:46:05 +00:00
Axel Dörfler
d5420ddccc * When setting the global format, MultiAudioDevice::_InitDriver() will no
longer return on failure.
* Also, it will now retrieve the global format from the audio device
  afterwards always and uses that.
* Cleanup of MultiAudioNode, part II.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 15:18:33 +00:00
Axel Dörfler
ced3755c30 * Fixed a memory leak in Deskbar's BarWindow.cpp when adding a deskbar
replicant failed as pointed out by Mark Hellegers.
* Clarified ownership of the passed in message in TReplicantTray::AddIcon()
  as well as BShelf::_AddReplicant().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 11:40:55 +00:00
Axel Dörfler
652c852666 * The previous code to retrieve the standard video mode did rely on the fact
that they are ordered by size.
* This actually doesn't seem to be the case for all cards. Hence, we now
  search for an appropriate mode only after we've collected all modes.
* Extended find_video_mode() to be able to ignore the height of a video mode;
  that way, we can prefer a horizontal resolution of 800 without having to
  care about the aspect ratio.
* This fixes bug #1975.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 09:23:10 +00:00
Ingo Weinhold
0323066a2a When failing to remove MIME DB attributes that don't exist, don't fail
anymore. This concerned mimeset for instance. The Haiku build under
Haiku now gets a little further.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 07:45:16 +00:00
Rene Gollent
153cc3c0f4 Use the old calculations for used_pages for the time being until the issue with sAvailableMemory is resolved.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 04:57:49 +00:00
Ingo Weinhold
82d444a25e Changed the page allocation tracking history to kernel tracing instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 23:13:01 +00:00
Ingo Weinhold
989a6e05ec Made kernel tracing safe to be used right after it has officially
been initialized.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 23:10:22 +00:00
Jérôme Duval
9fcee65eaf take into account areas starting or ending equally
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 22:31:42 +00:00
Ingo Weinhold
071f9c3aa2 Build configurations shouldn't be done in svn controlled files, so I
finally created a solution to avoid that: Header files that contain
configuration settings (and nothing else) go to build/config_headers.
To change settings, create a directory build/user_config_headers (which
is ignored by svn), copy the respective header there and modify it at
your leisure. Currently only tracing_config.h has been moved to the new
location, but more files will follow eventually. It is also recommended
to move optional macro definitions in Jamfile (as for BFS) to a config
header instead; the build system will then automatically rebuild on
changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 22:01:38 +00:00
Axel Dörfler
cedc3f1eb8 * Rearranged EDID mode find process: in a first pass, we only accept hi- or
true color resolutions, the second pass that also takes those into account
  will only be run if no mode could be found before.
* I hope this will improve Urias boot screen experience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 13:48:39 +00:00
Axel Dörfler
d0c63aafc2 * Fixed warnings due to the NULL change.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 13:46:52 +00:00
Axel Dörfler
9e79133f4d * Reverted r22315 as far as free_vnode() is concerned: removing the
vnode from the hash before putting it caused all sorts of problems.
* For example, BFS would trim its preallocations when the vnode is put;
  if someone would read that same vnode after it had been removed, but
  before BFS could trim it, it would read the old vnode which still 
  seemed to own the blocks which would subsequently be freed.
* This fixes bug #1914, and should also fix bug #1956.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 09:48:33 +00:00
Axel Dörfler
14438ad555 * write_cached_block() now moves a block to the unused list when it's
not referenced and clean (is no longer part of a transaction).
  This finally gets memory consumption to a moderate level; even 
  unpacking a large archive will no longer eat all memory.
* The "block_cache" KDL command will now print the number of unused
  blocks as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 09:38:53 +00:00
Ingo Weinhold
332e24fb43 Fixed a quasi-livelock in steal_pages() as proposed in ticket #1929.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 05:42:43 +00:00
Ingo Weinhold
b40802973a Addressed memory leaks in the MIME sniffer code. Fixes bug #1660.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 04:26:43 +00:00
Ingo Weinhold
781a715529 Move RegistrarThread[Manager].cpp to the registrar. There was no point
in those living in libbe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 02:51:58 +00:00
Ingo Weinhold
b6646cf8c0 I disclaim any responsibility for this file. I don't even know why it
lives here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 02:29:39 +00:00
Ingo Weinhold
6638711aa9 execvp() also needs to verify that an entry it found in the path is a
file. It would try to execute directories before (#1963).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 23:43:35 +00:00
Karsten Heimrich
5226ccb689 * build fix and some more debug output
* fix broken ui look in Job Setup on R5
* fix initialized page size msg field only seen on R5
* remember orientation setting to avoid always swapping it 

thanks Michael for pointing this out  :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 23:39:34 +00:00
Jérôme Duval
395880e0a9 we should really check whether the devices are used before reloading the driver
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 20:51:02 +00:00
Stephan Aßmus
a7a306d1a6 * Added "Disks" icon (file system root mimetype) based on work done by
Marius Middelthon - Thanks!
* Sorted vector icons a bit more like original bitmap icons.
* Renamed BeBox icon to Root icon.
* Commented out some dead code which caused a warning in
  TrackerInitialState.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 20:25:48 +00:00
Stephan Aßmus
e81885cd64 Added icon for Chart by Raynald Lesieur, thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 18:12:42 +00:00
Axel Dörfler
758962ec3b * Added arch_debug_contains_call() function that returns wether or not
a call chain contains a specific symbol (or address).
* Added a new KDL command "calling" that you can use to get a list of
  threads that have a specific function in their call chain.
* Removed extraneous white space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 17:08:51 +00:00
Axel Dörfler
c32f787401 * Added new KDL command "string" that dumps a string given a pointer.
* Use parse_expression() where appropriate.
* Removed extraneous white space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 16:21:33 +00:00
Axel Dörfler
5dafcc2b1b * Added new "symbol" command which is able to search for a symbol that
matches the specified pattern in all loaded kernel images.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 16:10:06 +00:00
Axel Dörfler
dc1a7867e0 * Added new pattern filters d#<expr>, x#<expr>, and s#<expr> which
set the actual pattern as "%d", "%x", and "%s" of the expression
  after '#' respectively. They are very slow, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 16:08:28 +00:00
Axel Dörfler
e77b684f9e * Added very basic possibility to set a filter for all KDL command
output using the new "filter" command.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 16:05:21 +00:00
Axel Dörfler
3bb1e6c264 * The block_cache KDL command now sets some useful variables.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 14:38:35 +00:00
Axel Dörfler
25ce50e1b9 * Something was fishy with the previous diff_lock-based implementation;
while I couldn't put my finger on it, I rarely got crashes with it.
* I've greatly simplified that mechanism now, and got rid of the 
  diff_locks completely - at least I understand the code now :)
* Coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 10:50:47 +00:00
Ingo Weinhold
fb84047190 Null-terminate the _kern_read_link() result.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 04:18:40 +00:00
Ingo Weinhold
baba54f94f Added options -x and -X to the "cp" command, used to specify exclude
patterns for file respectively path names.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 04:06:49 +00:00
Ingo Weinhold
b71cab0178 Added the options -x and -X to copyattr. They can be used to specify an
exclude pattern for file respectively path names.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 04:05:25 +00:00
Jérôme Duval
cd9ce121d9 now checks if another mtrr range is extended by a new one and extends it
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 20:55:12 +00:00
Axel Dörfler
c12ed8563a Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 20:29:49 +00:00
Axel Dörfler
4893165400 * Inode::OldSize() is the size of the file before the last index update
- this might be a bit older, so we cannot use it for the previous size
  in the call to Inode::FillGapWithZeros() in bfs_write_stat().
* This fixes the perl problem Ingo ran into after r24555.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 20:24:07 +00:00
Axel Dörfler
cd31b326a3 * The "block_cache" command checked the wrong variable to see if a block
could be found or not, eventually resulting in a read fault.
* It now also uses parse_expression() for its second argument, since it
  now returns an uint64 in Haiku.
* Tracing output cut off the label too early.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 19:21:01 +00:00
Axel Dörfler
5da3fbc8ef * Moved general multi_audio functions into their own file MultiAudioUtility.cpp;
they don't really belong to the MultiAudioDevice class.
* Major coding style cleanup, part I - no functional change, I hope :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 19:19:29 +00:00
Axel Dörfler
98e10fd47f * _TransactionSize() did not take the block array into account.
* Therefore, the log was not flushed often enough:
  _WriteTransactionToLog() did not check again, and would eventually
  overwrite incomplete transactions (leading to a corrupted log on
  reboot)!
* _TransactionDone() now only flushes the log if the new transaction
  will be joined; _WriteTransactionToLog() now checks itself if there
  is enough space left to actually write the log entry.
* Added a TODO about the logging code not being endian-aware.
* Renamed _BlockNotify() to _TransactionNotify() as only complete
  transactions are notified, it's not working on block level anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 19:12:15 +00:00
Axel Dörfler
8af46ac846 Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 19:06:25 +00:00
Axel Dörfler
2f20bf154e * Added "bfs" prefix to tracing output.
* When an inode is trimmed, it now also traces the previous internal
  size as well as the target size.
* Remove extraneous white space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 18:51:35 +00:00
Axel Dörfler
4616b7ed27 * Added "-b" option to the "bfs_inode" command: when this is specified,
you can use a pointer to the inode block rather than to the Inode
  object in memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 18:48:57 +00:00
Stephan Aßmus
df542f717f Prepare the MediaPlayer to survive a media_server restart, by first
making it detect the quit/start of the media_server and media_addon_server.
No action is currently taken in response to this, but the SoundOutput used
by the Controller needs to be recreated I would think.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 14:12:21 +00:00
Axel Dörfler
2b1003a09a * The DeviceOpener class was leaking its block cache; RemoveCache()
would never do anything as fBlockCache was never set.
* DeviceOpener::InitCache() did not always correctly propagate the 
  read-only flag.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 12:52:30 +00:00
Axel Dörfler
41f8d41647 Applied patch by Rene Gollent:
* Add a cached_pages field to the system_info structure, and change the
  meaning of the used_pages field to not include cached pages.
* Provide the needed info using the new calls vm_get_available_memory(),
  and vm_page_num_available_pages().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 11:51:45 +00:00
Axel Dörfler
b11e554156 * Added a small app that's able to truncate files - for testing purposes
only.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 09:44:38 +00:00
Ingo Weinhold
070557e510 Fixed my previous execvp() endless loop fix, which would always cause
an infinite loop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 04:10:14 +00:00
Ingo Weinhold
0343e0753a execvp() was looping endlessly if PATH contained empty entries.
Reorganized the loop so that this won't happen anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 03:46:08 +00:00
Karsten Heimrich
c83ee60a7b * fixed typo in PreviewDriver
* also always add the resolution to the config message



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-25 00:26:55 +00:00
Ingo Weinhold
83c2cae69d Implemented execvp() for real.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 20:32:20 +00:00
Michael Pfeiffer
66a7a5c0d9 BeIDE build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 15:54:00 +00:00
Stephan Aßmus
9def3bf783 * Rewrote MediaRoster.h
* Removed appearantly unused satic variables. Hope this does not break
  binary compatibility, going to test.
* There are three more private methods, which could probably be removed
  as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 15:42:58 +00:00
Stephan Aßmus
a715f908f2 * Use new (std::nothrow), check for out of memory conditions and report them.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 15:25:52 +00:00
Stephan Aßmus
8b940bb400 * Set the global BMediaRoster instance pointer to NULL in the destructor,
the DefaultDeleter is not the only situation in which the instance might
  be deleted, a client app can also call Quit() on the BMediaRoster instance.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 15:16:55 +00:00
Axel Dörfler
a121b8c83c * Added a new flag for write stat: B_STAT_SIZE_INSECURE that allows a
file system to not fill newly created space with zeros. 
  BFile::SetSize() now uses this, while [f]truncate() does not. This
  is only a temporary work-around until BFS supports sparse files.
* Apps that want to reserve space to fill up later should use 
  BFile::SetSize() for now, as this will be a lot faster than 
  [f]truncate().
* cache_io() and the functions below now use a special mode when you 
  pass in a NULL buffer: for read access, the cache is only populated
  (useful for prefetching), for write access, the file is filled with
  zeros.
* Implemented BFS's Inode::FillGapWithZeros() using this method now.
* Removed extraneous white space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 13:39:02 +00:00
Karsten Heimrich
c8ee6ba8fb * do some simple checking if the printer exists and is usable at
all, otherwise complain or offer to make it the default printer


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 13:23:03 +00:00
Axel Dörfler
04a969c8cf Should have been part of r24552 (replaced FS_WRITE_STAT_* constants with
the B_STAT_* constants as found in NodeMonitor.h).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 12:06:28 +00:00
Axel Dörfler
5e2ef462ec * Got rid of the duality of FS_WRITE_STAT_* vs. B_STAT_* flags (removed
the former ones).
* Removed extraneous white space.
* net_server settings are now also updated when the size of the 
  file changed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 12:04:47 +00:00
Karsten Heimrich
1879dc35bf * some code cleanup
* adjusted copyright header
* remove PrinterSetupWindow, simply return the printer name
* some better interface layout, center windows on screen, etc...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 11:30:20 +00:00
Axel Dörfler
f9bcddd700 Revised r24541 to be hopefully acceptable by the coreutils maintainers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 11:18:14 +00:00
Axel Dörfler
13542b7379 Dano build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 10:23:02 +00:00
Ingo Weinhold
0956fd0502 Applied change proposed in #1917 after encountering the bug the third
time. Releasing the cache's store reference while holding the cache lock
could reverse the usual locking order -- the VFS could potentially call
the remove_vnode() or put_vnode() FS hook, which in turn could use the
file cache, thus resulting in a deadlock. Now we release the store ref
before locking the cache.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 05:15:42 +00:00
Ingo Weinhold
92af28df98 Turned the note into a TODO, adding a thought how to implement it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 02:31:20 +00:00
Rene Gollent
77570fb545 Disable tracing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 01:02:59 +00:00
Rene Gollent
612ab37d12 _user_set_tzfilename now correctly updates the system RTC offset. This
makes switching between GMT and local time in time prefs work correctly
without requiring a reboot to recalculate the clock.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 01:01:51 +00:00
Axel Dörfler
409d26f976 This fixes the "weird file" error; it's not portable (same as before), though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-23 22:56:34 +00:00
Ingo Weinhold
5fd6637b4d * Decide whether to use BeOS style symbol resolution at run time
depending on the gcc version of the executable.
* Adjusted non-BeOS-style symbol resolution so that add-ons and
  dynamically loaded libraries find symbols in the executable.

This change re-enables support for undefined symbols.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-23 19:43:41 +00:00
Michael Pfeiffer
80339607f9 Get first and last page from job settings instead of print_file_header. In print_filer_header first_page is an offset into the spool file (the field is unused or reserved on BeOS R5 and is always -1) and page_count is the number of pages in the spool file. In the job settings first/last page is the page number of the first/last page as specified in the page setup dialog.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-23 18:01:13 +00:00
Michael Pfeiffer
242605b930 Set page_offset to -1 like BeOS R5 did.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-23 17:46:00 +00:00
Ingo Weinhold
3498280968 The runtime loader now reads a part of the .comment section of each
shared object to find out the GCC version it has been compiled with.
This is not an exact science, since we've got the version string for
every single object file that has been linked in, but my heuristic seems
to be good enough.

Having the gcc version at hand will allow for two features: Enabling
work-arounds for old executables (like the type info problem in BeOS
apps), and automatically selecting the right set of libraries in a mixed
gcc 2/gcc 4 environment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-23 17:01:42 +00:00
Karsten Heimrich
e1656f01ae * build fix, removed leftover debug var...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-23 16:17:52 +00:00
Karsten Heimrich
96d23158ea * some small cleanup
* fFirstPage should be of type off_t



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-23 16:01:03 +00:00
Ingo Weinhold
0ba49c35b3 * BuildPlatformMain supports overriding HOST_LIBROOT on the target now,
so one can set it to the static libroot, if desired.
* Generic attribute emulation:
  - Added build tool rm_attrs, a simple "rm" replacement, which also
    removes the attributes directory for a given file.
  - Added build/scripts/rm_attrs shell script, which wraps the
    invocation of the rm_attrs tool. If it doesn't exist yet, the
    ordinary rm is used.
  - The RM jam variable refers to the rm_attrs script now, i.e. whenever
    something is removed by the build system, the attributes are removed
    too (if the build tool has already been built, that is).
  - Removed the shell function attrrmrf() in build_haiku_image. We use
    the rm_attrs tool instead, if necessary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-22 21:05:03 +00:00
Ingo Weinhold
b78dc1e8dd Generic attribute emulation: Export function __get_attribute_dir_path()
which returns the attribute directory for a given file's stat.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-22 20:09:05 +00:00
Ingo Weinhold
1623d2e1ad Support building a static libroot_build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-22 20:06:45 +00:00
Ingo Weinhold
2754fa8772 bcopy() is supposed to be overlap-save.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-22 18:13:42 +00:00
Niels Sascha Reedijk
ce9ba9b376 First version of the BMessageQueue documentation.
Note: I have cleared the original MessageQueue.cpp file from the inline documentation. When the storage kit comes up, we need to rediscuss the documentation policy.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-22 14:36:20 +00:00
Karsten Heimrich
bd937035c7 * adjusted copyright
* small coding style cleanups
* made the config window a bit more font sensitive
* removed unused code in AboutRequested, since change 19593 there is no Be anymore in the about text



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-22 00:34:49 +00:00
Karsten Heimrich
77258c7702 * proper check for the what field to show the config window
* if there are printers but no default one, show only the printer panel without the add dialog
* adjusted the alert message accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-22 00:20:26 +00:00
Karsten Heimrich
76f2895ed9 * fixed mixup of resize and drawing flags
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-22 00:11:51 +00:00
Bruno G. Albuquerque
7a66a9b8e4 - Added support in system info for extended cpu family and model.
- Take extended family and model into account when generating the cpu
  type and revision.
- Added Intel Core 2 Extreme to the cpu list.

Please review.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 16:44:05 +00:00
Stephan Aßmus
e339f8165b Also don't print error on B_BAD_PORT_ID in BMediaNode::WaitForMessage(),
it just means the port has been deleted while the node was waiting, like
when a program quits.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 13:02:01 +00:00
Stephan Aßmus
6b8545a4fe * Improve line breaks in BMediaNode::WaitForMessage() for 80 char width
according to coding style guide.
* Print the error string for read_port_etc() instead of the error code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 12:40:46 +00:00
Stephan Aßmus
8056f0db19 * Failing to find an add-on for a BMediaNode could simply mean that the
node was instantiated by an application, therefor it is not an error.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 12:37:43 +00:00
Ingo Weinhold
b4c0ce288e Wrong assumption that errno values are positive. Could cause "rm -f" to
fail for non-existent entries.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 12:16:22 +00:00
Stephan Aßmus
590bb3b9e2 Might have implemented seeking to keyframes (video streams only for now), but
I need to test it yet...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 10:19:03 +00:00
Rene Gollent
0026580104 Leave tracing disabled by default though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 03:32:28 +00:00
Rene Gollent
7f9a9ff612 Fix broken TRACE statement.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 03:31:55 +00:00
Stephan Aßmus
d830aa92ce * Added FindKeyFrame() method to MediaExtractor, it is similar to Seek(),
but operates "read-only".
* Added FindKeyFrame() method to ReaderPlugin, see above.
* Reformated ReaderPlugin header. Added const qualifier to Source() method.
* Small cleanups in BMediaTrack::SeekToTime() and SeekToFrame(). Added TODOs
  with regards to "seeking" in decoders, wich should IMHO be revised. (Codecs
  cannot seek in the stream, they only get fed chunk data. The only thing they
  can do is reset themselves in preparation for a discontinuity of the chunk
  data...)
* Implemented BMediaTrack::FindKeyframeByXX() methods via the new
  MediaExtractor::FindKeyFrame() method.
* Implemented Seek() and FindKeyFrame() methods in the Reader base class,
  returning B_NOT_SUPPORTED. I think this makes sense and also I don't have
  to adapt all existing Reader plugins for the new FindKeyFrame() call. :-)
* Implemeneted FindKeyFrame() in the avi_reader. The OpenDMLFile class
  gets Seek() extended for a "read-only" mode. Currently the implementation
  is broken (as before) with regards to keyframes. These were ignored before
  and I have not changed them to actually support the seek flags with regards
  to keyframes. That's the interesting TODO...
* Some reformatting here and there in avi_reader code, sorry for the mixup.
  The only actual change is the support for the read-only flag to Seek().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 23:36:14 +00:00
Jérôme Duval
e958cea514 now fails if a write combining overlaps
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 22:12:28 +00:00
Ingo Weinhold
c852f04a83 "rm" was leaking the dir FD when failing to read from the dir.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 13:34:23 +00:00
Ingo Weinhold
5bf0362724 Added TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 13:33:35 +00:00
Stephan Aßmus
3bac9fe16c Failing to find a suitable decoder for a stream is reported in three different
modules, I left the one from MediaExtractor::CreateDecoder, since it also
mentions the stream index.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 12:59:45 +00:00
Stephan Aßmus
112d61551e * Add Style::HasTransparency() which just tells if any of the colors that the
style uses has an alpha value below 255.
* Add support for intermediate rendering passes to IconRenderer. Normally,
  the whole icon is rendered in a single pass, which means shapes cannot
  overlap. With the change, intermediate rendering passes are inserted when
  a shape is encountered that contains transparency. This is an easy way to
  allow for more feature rich icons, with easy support for glossy/reflective
  surface effects or other such effects that require support for transparent
  shapes on top of other shapes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 11:35:51 +00:00
Axel Dörfler
a886f802fc * Added debug_screen_output_enabled() function.
* The boot splash code now checks wether debug screen output is enabled or not
  using the above function.
* The boot splash code no longer maps it's own copy of the frame buffer, instead,
  it will use the boot item feature as the VESA driver does. Also removed the
  lock, as that's not needed at all.
* Renamed splash.cpp to boot_splash.cpp, and boot/splash.h to boot_splash.h
  (it's not part of the boot loader, but the kernel).
* Removed dead code from boot_splash.cpp, added license. Replaced license
  header in boot_splash.h to a style guide conforming one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 11:10:17 +00:00
Stephan Aßmus
48498869f9 Small cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 11:06:41 +00:00
Axel Dörfler
4495cd43c1 * Fixed warnings, mostly due to NULL changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 11:04:45 +00:00
Stephan Aßmus
a7b7eb1ea5 Don't export shapes which are not visible at the default image scale.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 11:00:27 +00:00
Stephan Aßmus
af7303013f Icon-O-Matic was missing the "[]" specifier when exporting a C array. Thanks
to mmu_man for pointing this out!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 09:47:55 +00:00
Ingo Weinhold
dd76bc97f5 Fixed NULL related warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 01:45:29 +00:00
Ingo Weinhold
8560d1885b * The runtime_loader's test_executable() no longer analyzes the
executable permissions of the file by hand. We use _kern_access()
  instead, which also handles the root case correctly.
* The user and group arguments of test_executable() aren't needed any
  longer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 01:45:00 +00:00
Jérôme Duval
eb258077e7 added --help support for devfs_node debugger command
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 23:02:30 +00:00
Jérôme Duval
957d7d0732 added help support for devfs_driver debugger command
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 22:58:48 +00:00
Ingo Weinhold
76c69c6fe6 Unlike BeOS' strerror_r() (not in headers) ours is standard-conforming
and returns int. Fixes the only (unexpectedly) failing autoconf test.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 22:12:30 +00:00
Stefano Ceccherini
47ed33e09b Apply the same logic of BMenu::_Track() also in BMenuBar::_track():
check if mouse is over a submenu and then if it's over the current menu.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 20:59:55 +00:00
Stephan Aßmus
4a46d818c9 * Implemented ERROR as fprintf(stderr, ...) with tracing turned off as well.
* Fixed all but one compiler warnings in libmedia.so.
* Truncated lines to 80 char width where I looked at code.
* Turned printf()s into TRACE/ERROR calls in MediaExtractor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 19:39:07 +00:00
Stephan Aßmus
d14375b803 * turn tracing off in OpenDMLFile as well
* rename tracing define in StartIndex


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 19:14:48 +00:00
Jérôme Duval
4e8c60ce4b style cleanup
replaced addr_t by uint64
more debug output


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 19:00:35 +00:00
Stephan Aßmus
9b58b8e2d8 * printf -> TRACE (turned off)
* fixed a few compiler warnings


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 18:49:09 +00:00
Stephan Aßmus
a08f6a39d8 Return B_ERROR for the FindKeyFrameFor*() methods, unless the time/frame
is 0, in which case it is almost save to assume it is a keyframe. Added
TODO though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 17:15:12 +00:00
Stephan Aßmus
c844c20840 * Use tracing facilities in BMediaTrack.
* Turn off tracing in the Media Kit.
* Notify of unimplemented functions regardless of tracing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 17:12:05 +00:00
Stephan Aßmus
c2848f102b * Improved debug output.
* fTrackList was deleted with delete, but needed delete[].


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 17:09:26 +00:00
Stephan Aßmus
936f5631e4 Turn off tracing in all the decoder and reader plug-ins. It should be turned on
when looking for a bug in the respective plug-in.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 16:44:26 +00:00
Stephan Aßmus
1fde221032 Turn off tracing. Only people looking for bugs in this plugin should have
it turned on, IMHO.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 16:32:27 +00:00
Rene Gollent
e51a01a517 Fix SpaceMonitor crash. Verified that R5 and/or Zeta in fact do *not*
Invalidate() on SetMaxValue(). This should probably be revisited in
the future whenever we break binary compat. TODO note added to that
effect.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 14:57:50 +00:00
Ingo Weinhold
c57db7d007 _kern_read_link() no longer null-terminates the read string. Fixes
loading of symlinked libraries.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 14:09:03 +00:00
Stephan Aßmus
694f0665c0 * Added --help and -h command line options which print the available options
and quit the program immediately.
* Added --deskbar option to automatically install the Deskbar replicant.
  NetworkStatus waits up to 10 seconds for Deskbar to become available in
  case it is not running. In case the replicant is already installed, the
  program quits immediately.
* Refactored a _InstallDeskbarReplicant() method.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 12:58:08 +00:00
Axel Dörfler
573d0b4d6d * Routes that belong to an interface without a link are no longer
ignored, but other routes will be preferred if available.
* This fixes problems with networking cards that don't report their
  link status correctly (ipro100, see bug #1936), or too late 
  (nforce, ipro1000, see bug #1941). Drivers that did not report any
  status at all were not affected, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 10:42:46 +00:00
Axel Dörfler
c2383f9c82 * Replaced our string compare functions (and memcmp()) with versions
that actually work correctly (and treat the data as unsigned 
  characters).
* This fixes bug #724.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 08:45:08 +00:00
Axel Dörfler
b0543bd23b * A simple test that shows that our string compare functions inherited
by NewOS are all broken. This is the actual reason for bug #724.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 08:43:50 +00:00
Axel Dörfler
974e087ef1 * If two equal keys were compared, the check for the key end was
incorrect; only the length of the key matters, not if they are null
  terminated. It would still return the correct value, though, it would
  just access one byte beyond the buffer (which didn't really matter 
  in this specific case).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 08:41:00 +00:00
Jérôme Duval
eff1a72904 it seems GCC headers define NULL to __null instead of 0, fixing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 22:37:08 +00:00
Jérôme Duval
5c102180bd updated fluidsynth to 1.0.8
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 22:17:50 +00:00
Stephan Aßmus
a529aaf3c6 Fixed 32 bit blit modes for real...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 21:41:02 +00:00
Jérôme Duval
b20d05b4f7 clean up, comments, header
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 21:25:34 +00:00
Jérôme Duval
4e3f589c9d added a test for the algorithm introduced for MTRRs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 20:59:23 +00:00
Stephan Aßmus
c2de9613a6 Fixed 32 bit versions of blit*.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 20:45:07 +00:00
Stephan Aßmus
55ef60a5ae * Removed the Copyright image/rendering.
* Fixed the icons image, it was upside down.
* Support the new 24 bit boot screen images in the boot_loader and the kernel.
* Prepare the code for future indexed versions of the boot screen images.
  But the generate_boot_screen tool currently does not generate those.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 20:27:47 +00:00
Stephan Aßmus
a3636f92c0 * Removed almost all global variables.
* Release the resources needed for reading the PNGs and storing the image data.
* Change the semantics of the tool, previously it only supported palette mode
  PNGs. Now I am doing the opposite, the tool tries to set up the PNG lib to
  hand out RGB data, even stripping a potential alpha channel.
* Used standard Haiku license header.
* Improved output syntax.
* No longer depends on input image names, even with paths. The generated
  output needs to have fixed names, or else the other source code will break.
* Made the use of the setjmp feature optional, depending on the PNG lib version
  in use. This makes it possible to build the tool on BeOS without updating
  the installed PNG lib.
* Added a few TODOs. Most important is to generate a single palette for all
  three images, and storing the images in their palette representation along
  with the full quality versions, so that they are ready during boot without
  sucking up too many CPU cycles.

NOTE: The header which is now generated is not usable by the rest of the
source code yet, but that will come later. generate_boot_screen is not
integrated yet anyways.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 18:15:58 +00:00
Axel Dörfler
8417b8d87f * Added a comment in _InitData() to make it more obvious when the looper is
locked.
* Removed some long and useless comments.
* Other minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 17:34:56 +00:00
Ingo Weinhold
62319d069e Commented out real-time signal related stuff (SA_SIGINFO, waitid()) to
prevent "configure" scripts from thinking we do actually support it.
Having real-time signals would be nice though (cf. #1935).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 17:33:03 +00:00
Axel Dörfler
98fe648b6e * FontFamily::GetStyle() now looks for alternative names when a specific
style couldn't be found, ie. when looking for "Roman", "Regular", and
  "Book" are accepted, too, and "Italic"/"Oblique" are now synonyms as 
  well.
* This prevents StyledEdit from using the "Condensed" style when it does 
  not find a certain font.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 16:52:34 +00:00
Axel Dörfler
e9d948ce2d * entry_ref_to_vnode() now gets a "traverse" argument, so that it is
able to resolve symlinks.
* file_open_entry_ref() now evaluates the openMode and passes the
  correct "traverse" argument to entry_ref_to_vnode(). This fixes bug
  #1932 (symlink refs wouldn't be resolved).
* dir_open_entry_ref() now always resolves symlinks, all other uses of
  entry_ref_to_vnode() keep their previous behaviour, though.
* Fixed warnings; since Ingo's header changes, NULL now causes a warning
  when it is used as int.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 16:10:04 +00:00
Axel Dörfler
34dea2740a * pcap_platform_finddevs() was not implemented at all (and did not return an
error string explaining the situation), causing bug #1934.
* When called without specifying an interface, it now chooses the first
  suitable interface from the list as documented.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 14:36:35 +00:00
Ingo Weinhold
2ca4cee18f * Renamed hbsg to generate_boot_screen and moved it to src/tools.
* Build generate_boot_screen as a build platform tool. It requires
  libpng to be installed.
* Added output file name as fourth argument.
* Replaced unnecessarily complicated
  fwrite(<string>, strlen(<string>),...) and sprintf()+fwrite()
  constructs by fputs() and fprintf() respectively.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 14:06:57 +00:00
Stephan Aßmus
7d85665d0f * Give boot stages a more meaningful name, make the max stage count known.
* Calculate icon offset from stage in splash.cpp, remove hard coded placement
  values. Draw only icon, not the whole image from top/left to right of
  icon.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 13:14:18 +00:00
Ingo Weinhold
48e299e2ef Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 12:26:50 +00:00
Stephan Aßmus
5973fcdfb2 Fixed initial rendering of the grayed out icons, depends on frame buffer
depth now. Removed now unused blit16_cropped().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 12:14:43 +00:00
Stephan Aßmus
61a1f36f79 * Implemented 32 bit cropped blit. Untested. I am guessing that the functions
could be refactored to avoid code duplication (ie only cropping
  implementations, with the non-cropping function being a special case of the
  cropping version)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 11:18:38 +00:00
Stephan Aßmus
10134c6d28 * Apply coding style a little more firmly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 11:09:13 +00:00
Stephan Aßmus
aa727f6643 patch by Artur Wyszynski (aljen):
* Added the feature of an animated boot screen (icons lighting up at
  different boot stages).
* Added first version of new boot splash images, generated by the new
  hsbg tool. (Also finally contains the "new" Haiku logo.)

changes by myself:
* Added Artur to the contributors list in About System.
* Fixed some left overs in the patch, kept tracing turned off.

TODO:
* Remove the need for hard coding the icon positions. (Maybe generate
  those from hsbg and put them into images.h? Have user provide icon
  spacing/offsets at the command line for hsbg?)
* Rename the stages to something meaningful.
* Use hsbg as a build system tool and generate images.h during build
  from PNGs provided in the artwork folder.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 10:25:53 +00:00
Stephan Aßmus
ff2f1edf62 patch by Artur Wyszynski (aljen):
* Added a tool to generate the "image.h" header from supplied PNGs,
  which is going to be used by the new boot splash code.

TODO: Integrate this whole thing as a build system tool, complete with
source PNGs in the artwork folder. I am also in favor of renaming it
to something like "splash_gen" or similar if it has to be short.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 10:15:44 +00:00
Stephan Aßmus
45ae49e9c5 patch by Artur Wyszynski (aljen):
* update the kernel copyright string


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 10:11:58 +00:00
Stephan Aßmus
c09ac5cf13 patch by Artur Wyszynski (aljen):
Build fix for Darwin host platform.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 10:10:50 +00:00
Ingo Weinhold
8b76a59a0d Fixed race condition in the page writer: The state of the page we have
picked might have changed while we were locking its cache. Might fix
#1931.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24430 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 02:39:04 +00:00
Rene Gollent
9596a089a4 Plug various memleaks in BShelf.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 00:35:36 +00:00
Stephan Aßmus
79ef179c52 A test app revealed some bugs with regards to client provided clipping regions:
* It is necessary to store the local origin and scale of a view state, at
  least for the clipping region and especially because the scale affects the
  clipping region. Ie origin and scale of one state affect the clipping region,
  at the time the clipping is evaluated, ie
     SetOrigin(...);
     ConstrainClippingRegion(...);
  is equivalent to
     ConstrainClippingRegion(...);
     SetOrigin(...);
  The current client provided clipping region at the time of PushState()
  always constrains the region of the new state. The previous region
  and the current local clipping may have their own individual origin and
  scale.
  To support all this, I needed to store origin and scale of each state on
  the stack, but I do cache the combined origin and scale. Caching only
  the combined region is not possible though. So the new implementation
  is slower than the previous, but more correct.
* Refactored "copy constructor" from DrawState, which is not really a copy
  constructor anyways, made it private. It is only used by PushState().
* Removed some dead code from DrawState.

All this improves Firefox redraw issues a tiny bit, but does not fix them.
Either I am not covering Firefox needs with my test app, or the bug is
somewhere else. At least Haiku behaves like BeOS with regard to client
clipping regions and the state stack now...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 00:04:12 +00:00
Oliver Ruiz Dorantes
5ceb8de4e9 SetDiscoverable method Implementation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-17 22:46:56 +00:00
Oliver Ruiz Dorantes
a774d59ff0 Implement handling of the scan mode event reply
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-17 22:41:47 +00:00
Ingo Weinhold
1b32947d3f * Aligned the semantics of the read_symlink() FS module hook with the
readlink() function. It is no longer required to null-terminate the
  string, shall not fail, if the buffer is too small, and shall return
  the length of the string actually written into the buffer.
* Adjusted rootfs, devfs, and bfs accordingly. Also adjusted their
  read_stat() hooks to return the correct symlink length in st_size.
* Our readlink() does now comply to the standard (and BeOS).
  Additionally if the buffer is big enough it is nice to non-conforming
  apps and null-terminates it.
* BSymLink::ReadLink() explicitly null-terminates the string now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-17 21:37:40 +00:00
Jérôme Duval
4f893e39ab algorithm to find best suited mtrr values to match a memory region. tested ok with 3071MB.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-17 19:50:46 +00:00
Axel Dörfler
e30b6f2693 * There can now be one default route per interface, not just one
default route in the whole stack. The default routes are ordered by
  link speed, so faster interfaces are preferred.
* find_route() by net_route now also checks for the equality of the 
  RTF_DEFAULT flag
* find_route() by address now ignores routes that point to interfaces
  that have no link; if you have more than one configured interface in
  your system, the one with a link is now always chosen.
* get_route_internal() now recognizes AF_LINK addresses, and allows
  one to specify a route by interface this way.
* Implemented update_route_info().
* Minor cleanup, moved copy_address(), and fill_route_entry() into the
  private part of the file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-17 17:31:51 +00:00
Stephan Aßmus
f306ef434f * Fix build of app_server test environment by implementing atomic_get(),
maybe this should be the assembler version we use for x86, but is probably
  fine for the purpose of the test environment (only BString uses this)
* Fix semantics of DrawingEngine::CopyToFront() which I recently introduced,
  for the fake accelerant of the test environment, we do need to call
  Invalidate(), not CopyBackToFront() directly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-17 14:28:09 +00:00
Axel Dörfler
0cbc783bc0 * _user_uninitialize_partition() never marked the partition unbusy
again. This fixes bug #1928.
* Added license header.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24421 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-17 13:11:35 +00:00
Axel Dörfler
6011cc673f * Implemented SetContentName(), and SetContentParameters().
* Added license.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-17 13:07:57 +00:00
Axel Dörfler
e0b38d8aab * Initialize() should also cause initializing the partition which would
only happen if BPartition::SetContentType() set it (which set it 
  only if the original type differed).
* This fixes a part of bug #1928, but of course, it still won't work
  (now the partition reports to be busy).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-17 12:53:17 +00:00
Rene Gollent
36ac322c47 Fix a case in BShelf where it wouldn't return the error correctly if the replicant was rejected by the shelf. This
would cause various incorrect behavior, best observed in the form of Deskbar crashing if you tried to drag and drop 
a large replicant (i.e. Workspaces) onto it.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-17 01:20:49 +00:00
Ingo Weinhold
18a83f09cf Root is allowed to cd into any directory, regardless of the directory
permissions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-16 23:45:10 +00:00