Commit Graph
100 Commits
Author SHA1 Message Date
Axel Dörfler a786c139ef * Removed the work-around that allowed to open directories read/write.
See ticket #3875.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-08 14:48:51 +00:00
Axel Dörfler 9532f6844f * Removed the "cd" to home in /etc/profile, made sure that Tracker/Deskbar are
started from /boot/home. This closes ticket #3090.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-08 14:29:29 +00:00
Axel Dörfler 5561b695a1 * Fixed a typo that prevented the right context menu copy action to work
on directories. See ticket #3575.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-08 10:14:25 +00:00
Axel Dörfler 35e29efeef * Messed up IsFontUsable(), this closed bug #3895 if I understand diver
correctly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-08 07:14:18 +00:00
Axel Dörfler 99d1bfb5de * The code in fs_walk() duplicates the one in ISOReadDir() mostly, and suffered
from the same "associated file" problem as the latter. This now finally fixes
  bug #3861. This badly needs some cleanup.
* Fixed a possible problem I introduced in ISOReadDir() (did not read the next
  block even if it should have).
* Fixed warnings with debug output turned on.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-07 21:38:56 +00:00
Axel Dörfler 47a214def6 * We now ignore associated files. This makes the double entries of bug #3861
disappear.
* When parsing rock ridge attributes, we no longer stop when we encounter an
  unknown one. Instead, we just parse through until the end. The ISO image as
  part of #3861 also made this visible.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-07 08:00:10 +00:00
Axel Dörfler 843ce67e3d * Don't let GuestNode::Init() fail if the attribute directory could not be
opened; not all file systems support this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-07 07:20:57 +00:00
Axel Dörfler 2a64cb1138 Fixed two crashing bugs, one of them mentioned in ticket #3861:
* ISOReadDirEnt() did happily read after the 2048 byte block. Now we check after
  having processed an entry if the position is on the 2048 block boundary, and
  skip to the next block directly.
* fs_walk() assumed a 2 block set (and accessed memory therein), but only has
  access to a single block. I haven't looked at the specs, so I'm not really
  sure what the old code tried to achieve. In any case, it doesn't crash
  anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-05 20:55:47 +00:00
Axel Dörfler f47bff0880 * Made the iso9660 file system buildable within the fs_shell (iso9660_shell).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-05 20:07:24 +00:00
Axel Dörfler ce34c0c260 * Removed old BeOS ISO9660 file system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-05 20:06:50 +00:00
Axel Dörfler 738ed6561d * copy_to_bfs_image is no longer needed (and doesn't compile anymore, either).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-05 17:36:57 +00:00
Axel Dörfler c24d3c0d98 * Fixed two bugs in rootfs_rename(): the check of the result of
rootfs_find_in_dir() was wrong, leading to never be able to find the fromName
  in the directory. Furthermore, the parent of the root directory is itself, but
  the check to see whether or not the target is valid did not take this into
  account, and therefore ran into an endless loop. This fixes bug #3864.
* Rearranged rootfs_rename() to be clearer.
* Style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-05 11:53:46 +00:00
Axel Dörfler a5dbd78b7a * Since PrecacheIO is used as asynchronous callback object, we must not access
it anymore after having called vfs_asynchronous_read_pages().
* Now, Prepare() does all the preparation work, and ReadAsync() does the actual
  work - this must be called without having the cache locked. This also fixes
  another bug where the callback would be deleted twice in case the I/O request
  failed.
* This fixes bug #3847.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-05 10:13:55 +00:00
Axel Dörfler 3873c5f3f2 * Style cleanup, mostly 80 character limit per line.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-05 10:05:11 +00:00
Axel Dörfler f7b4d19dc4 * Reverted r30529 as this was pretty much bogus (sorry stpere, but the size of
the window was already set with its constructor).
* Fixed the actual cause of bug #3752 instead: the fCharacterHeight and
  fTitleHeight members were not initialized when MinSize() was called.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-04 19:53:12 +00:00
Axel Dörfler 48cf5b5ef6 * Replaced remaining 'x' with '@' before the refresh rate, thanks Urias for
reporting.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-04 18:46:31 +00:00
Axel Dörfler edf7d67773 * Applied patch by Fredrik Holmqvist: improved EDID dump output.
* This closes ticket #3809.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-04 09:03:19 +00:00
Axel Dörfler aee4b7e237 * Fixed two bugs in BPlusTree::Remove(): it could update the tree iterators
incorrectly in case of duplicates. And also, more importantly, it did not
  check if the entry to remove had the same value -- it would happily remove
  any entry with the same attribute content. This could only happen in the
  reindex case, though, and was the cause of bug #3854.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-03 20:29:50 +00:00
Axel Dörfler 37e5be59a6 * Replaced the Print() macro with a direct call to kprintf().
* Before, it would incorrectly resolve to the __out() macro which was defined
  as dprintf() when compiled for the kernel -- this could deadlock KDL, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-03 17:56:08 +00:00
Axel Dörfler e12b8d6ddf * Now also adds directories to the index (before only in non-recursive mode).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-03 15:28:54 +00:00
Axel Dörfler f680cfe265 * The direct connection update in ServerWindow::{_Show()|_Hide()} is superfluous
since Korli's change in r30440.
* 80 character per line limit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 17:43:54 +00:00
Axel Dörfler c39ecc608f * If getting a new port message failed, we must release the port's write sem
again, or else the port loses capacity.
* This fixes bug #2720.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-30 19:07:38 +00:00
Axel Dörfler d5ad762913 Fixed several problems of the prefetching code:
* Did claim to have reserved pages when calling vm_page_allocate_page(), but
  didn't have any (copy&paste bug). We cannot use it without reserved pages,
  as we need to call vm_page_allocate_page() with a cache locked.
* No longer use low_resource_state() to determine whether to precache or not,
  but use the new vm_page_num_used_pages() instead.
* Also don't (try to) precache when the cache already has more than 2/3 of its
  pages to safe some unnecessary work.
* The size to precache was limited to the file size incorrectly.
* When precaching failed, the cache reference was not released.
* The precaching started one page too late, causing bug #3835.
* Reenabled precaching.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-30 15:53:41 +00:00
Axel Dörfler 2d8073a9dc * Added a TODO about a problematic use of vm_page_allocate_page() in combination
with vm_cache_acquire_locked_page_cache().
* Added new function vm_page_num_unused_pages() which returns the pages that are
  actually completely free and unused.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-30 15:46:55 +00:00
Axel Dörfler 88cfea9fc2 * Added a version of reindex that works under Haiku. Changes made to the
original version:
  - removed the BFS bug work-around to create two temporary files first; this
    work around is not needed in our BFS implementation.
  - improved error output.
  - remove attributes before rewriting them. This is needed as BFS won't update
    the indices anymore if the attribute has not actually been changed.
  - applied our coding style.
* This also fixes bug #3843.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-30 12:56:45 +00:00
Axel Dörfler 9431509f5c * Fixed broken socket_get_next_stat() that was responsible for bug #3830.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-30 11:59:11 +00:00
Axel Dörfler 11efbf0160 * Applied patch by Olivier to implement more mouse reporting modes, and thus
fixing bug #2854. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-24 14:15:18 +00:00
Axel Dörfler 8c8c904aca * Fixed wrong indentation, and number of blank lines.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-24 12:13:22 +00:00
Axel Dörfler 6f440aed2c * net_socket_module_info::acquire_socket() now returns whether or not the
socket could be acquired, ie. when its reference count is 0, it cannot be
  acquired anymore. This requires the protocol to do proper locking, though.
* The TCP EndpointManager now checks the return value of acquire_socket(), and
  only returns the endpoint if that succeeded.
* This fixes bug #2197.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-24 10:12:30 +00:00
Axel Dörfler c9928eb11a * Moved random_file_actions to the other file system tests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-24 10:06:32 +00:00
Axel Dörfler bf9f608567 * The multiple file creation was not correct, and could create way more files
than planned. Now, it always adds 10% to the max file/dir count unil 50% is
  reached.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-24 10:03:44 +00:00
Axel Dörfler 3ea61f1f22 * Add option -a to always check before contents are removed.
* Print the settings on start in verbose mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-24 10:01:11 +00:00
Axel Dörfler 8eb51285d3 * Made _GetUnchecked() return nothing, as it was ignored anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-24 09:58:54 +00:00
Axel Dörfler 636ccbf306 * Write the identifier as attribute to the file to make later checks possible.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-22 15:58:29 +00:00
Axel Dörfler 3b9dec1c07 * remove_dir() can no longer remove the base dir.
* Added a remove_dirs() that can reliably clean up the mess afterwards.
* Added option -b to set an alternative base dir.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-22 15:32:56 +00:00
Axel Dörfler 97f89e0360 * All files now get unique, and verifiable contents.
* Added argument -c|--check-interval to determine how often the file contents
  are checked.
* Added some statistics.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-22 13:01:54 +00:00
Axel Dörfler 59b3d28a25 * Wrote a test application trying to reproduce bug #2197, ie. modelled after
Mozilla's PR_NewTCPSocketPair() -- unfortunately, it doesn't seem to work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 21:01:25 +00:00
Axel Dörfler a87124634a * Our INADDR_* and IN_CLASS* macros were mostly wrong - they are supposed to
be in host endian order.
* Adapted ipv4 code that automatically finds a netmask to this change.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 19:21:52 +00:00
Axel Dörfler d31093e866 * Start of a test application to hopefully be able to reproduce the remaining
BFS problems.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-21 15:36:24 +00:00
Axel Dörfler 8a26f35a6d * Sequential write accesses were never detected, due to an incorrect check.
* The previous code would have scheduled a single page to be written out (if it
  would have ever been triggered), now we schedule the complete previous write
  access. This greatly speeds up a "dd if=/dev/zero of=test ..." beyond the
  size of available memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-20 08:02:51 +00:00
Axel Dörfler 4f65f5dca0 * Patch by Olivier to fix the function key assignments, a.k.a. as bug #2853.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 21:07:11 +00:00
Axel Dörfler 21543141dd * Applied slightly changed patch by Olivier that adds basic xterm style mouse
support, thanks!
* This probably closes bug #2854, confirmation pending.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 20:59:08 +00:00
Axel Dörfler 728c7f10e1 * Fixed warnings.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-19 20:57:33 +00:00
Axel Dörfler 24b822d843 * No longer hold the write lock when calling Inode::FillGapWithZeros(), as this
potentially deadlocks as described in bug #3768. The system is still
  completely unresponsive, but gets back to a working state after some time now.
* Since the rw_lock is public, Transaction and InodeReadLocker no longer need to
  be friends with Inode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-17 09:51:42 +00:00
Axel Dörfler e50b251243 * Applied patch by Olivier that fixes bug #1957. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-17 09:15:46 +00:00
Axel Dörfler 78e7cdaede * Removed the get_next_removed_vnode() call again - besides the problems Ingo
pointed out, there is also an unsolvable race condition with BFS that other
  file systems should share.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-16 18:29:12 +00:00
Axel Dörfler 992fba36ee * There is now a list of removed vnodes in Volume - while asking the VFS for
this seemed to be a good idea, there is one race condition that cannot be
  solved otherwise (the vnode must be added/removed to that list while holding
  the transaction lock, and we cannot guarantee that in the VFS).
* We are using an unused area of the in-memory bfs_inode to store the list
  links (bfs_inode::pad - this will also work on 64 bit platforms).
* Inode no longer adds a singly linked list link - the transaction list now
  shares the doubly linked list with the removed vnodes list.
* Added an in-memory flag INODE_IN_TRANSACTION to avoid searching an inode
  to be added in the list.
* Removing an attribute directory did not hold its write lock.
* If removing an attribute failed for some reason, the INODE_DELETED flag
  was not removed (the transaction would not have failed because of that).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-16 18:24:55 +00:00
Axel Dörfler 22e78d6e65 * Another error found by Romain: the socket's mutex could be destroyed twice
in socket_create(). Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-16 12:51:49 +00:00
Axel Dörfler 4e5191e9c1 * struct family now uses a DoublyLinkedList instead of a struct list.
* Added but commented out adding/removing chains to its family: this would allow
  the stack to unload protocol modules as soon as they are no longer needed.
  However, it currently does not work yet (double lock, we need a recursive lock
  here to allow this).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-16 11:11:37 +00:00
Axel Dörfler 7caa5d430c * Now gets the net_socket module in init_stack() to make sure it's initialized
as long as the stack is loaded.
* This fixes another regression from moving the socket API into the kernel.
* Thanks to Romain for reporting this!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-16 10:54:07 +00:00
Axel Dörfler 32537299cb * The "net_timer" command was never removed, causing sort_debugger_commands()
to hang when entering KDL, after having unloaded the stack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-16 10:50:38 +00:00
Axel Dörfler 09a60e4bd4 * Since we moved the socket stuff into the kernel, we lost the ability to
unload the network stack. This now works again, although I didn't manage to
  do it without another lock.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-16 10:49:21 +00:00
Axel Dörfler 7722096951 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30195 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-16 10:31:48 +00:00
Axel Dörfler ddd8303099 * Added "is_in_socket_list" member to determine whether the socket is in the
sSocketList or not (to see if it has to be removed when the socket is
  deleted).
* This fixes the bug reported by Romain when trying to open an unsupported
  protocol (like AF_INET6). Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-16 08:37:00 +00:00
Axel Dörfler e621d84da3 * Now takes the removed but not yet deleted vnodes into account when allocating
spaces on the bitmap.
* This fixes bug #3730.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-15 16:24:33 +00:00
Axel Dörfler 4e98292b8e * Introduced new call get_next_removed_vnode() to be able to iterate over
removed but not yet deleted vnodes.
* Simplified get_vnode_removed().
* Header cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30176 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-15 16:14:04 +00:00
Axel Dörfler 0e9ddc9350 * The initial ARP entry for interfaces without an address were never removed.
* arp_update_local() was called without holding the sCacheLock, but did not take
  care about locking either. Now the caller has to lock.
* Updating the local ARP entry is now done while holding the sCacheLock the
  whole time, thus it's now atomic to the outside.
* Fixed a potential deadlock: the arp_entry destructor must not be called with
  the sCacheLock being held as long as there is a potential timer running.
* Fixed a potential double delete in case the arp_entry destructor was called
  with a pending ARP_STATE_REMOVE_FAILED or ARP_STATE_STALE. Now, we set the
  new flag ARP_FLAG_REMOVED to check for that condition (it's now set when an
  entry is removed from the hash).
* arp_start_resolve() would leak non-functional ARP entries around when
  something went wrong during the initialization. It will now remove them via
  their timer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30167 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-15 10:29:33 +00:00
Axel Dörfler a96e91db3b * Added TRACE macro to see what timers are set/cancelled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30166 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-15 10:21:58 +00:00
Axel Dörfler b4a57bf88b * Now makes sure the timer is properly shutdown when deleting the arp_entry.
* This fixes a crashing bug that could be triggered when switching IP addresses
  often.
* Also added a TODO about another possible crashing problem I won't look into
  today anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-14 21:24:43 +00:00
Axel Dörfler 1db58389c6 * {read|write}_pages() does not have a "reenter" argument. This could let both
commands run without proper locking.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-14 17:05:15 +00:00
Axel Dörfler 3553f323a6 * Allow a sector size of 4096 as well; this change allows Haiku to mount an
iPod.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-14 17:04:05 +00:00
Axel Dörfler 5f1b31debd * Made the intel disk_systems add-on independent from the block size as well.
* This also fixes the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-14 14:46:26 +00:00
Axel Dörfler fc2c8b88a5 * Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-14 12:43:54 +00:00
Axel Dörfler 199f33248d * Removed SECTOR_SIZE in the read-only part of the intel partition scanner;
however, it's still used in the write part.
* Made the read-only code block size agnostic. Only tested with an Apple
  iPod so far, and it recognizes its partition fine now. Next test on real
  hardware.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-14 12:33:01 +00:00
Axel Dörfler b41bbb4a46 * Renamed partition_table_sector to partition_table, and PTS* to
PartitionTable*; the sector is not really a sector, but only the first
  512 bytes of it.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-14 11:56:21 +00:00
Axel Dörfler ad491b436f * Moved _CreateBlocks() back into the constructor. That used to make bug #3572
more reproducible, but it doesn't work for me anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30148 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-13 13:12:09 +00:00
Axel Dörfler 78c00a4a53 * Applied patch by sil2001 that fixes bug #3666 (handling of existing symlinks).
* Refactored PkgItem classes, and pulled out a PackageItem base class. Renamed
  other classes to Package*.
* The ItemExists() method should really get a "Apply this choice to all files"
  kind of option...
* Style cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30125 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-11 21:37:51 +00:00
Axel Dörfler d1cad26854 * Added an insane block cache tracing mode that will also log the whole block
data. This is available when BLOCK_CACHE_BLOCK_TRACING is 2 or greater.
* Completely untested as of now, though. Will do so soon.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-10 09:55:04 +00:00
Axel Dörfler 00e8c084e6 Extremely important cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-10 09:53:50 +00:00
Axel Dörfler 7f5c5dc8a1 * Don't try to free the pages area when all you had was a single page (in the
union).
* This fixes a crash on restart that has been revealed by Oco's change to the
  reboot process.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 22:40:15 +00:00
Axel Dörfler 1f25254a3f * Fixed the non-working volume update when using the mouse wheel - only
the slider position was updated, not the actual volume.
* Use InvokeNotify() for wheel changes so that we correctly notify listeners.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 21:40:35 +00:00
Axel Dörfler 126d77c5d5 * Changed ContinuousMessageFilter to register for parameter value changes,
and change its slider value when such a message arrives.
* Currently, this will only work if such a view already received a message;
  added a TODO about how it should be done, but since those would require
  some more changes, I don't want to do that as long as Sean Healy is working
  on that file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 21:21:42 +00:00
Axel Dörfler 3c2a04f4c9 * Fixed that you would drag the wrong character when the drag was started
while you were already over another character.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 20:45:18 +00:00
Axel Dörfler 9ec59fc934 * Improved tracing of the allocations at block level.
* Turned on extra check on allocation when KDEBUG is set.
* The "bfs" KDL command now also prints the block bitmap block for the
  specified block.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 19:50:03 +00:00
Axel Dörfler 8734b81d23 * Made the NotificationManager.h header self contained.
* Changed some members to be part of the NotificationManager instead of
  allocated objects.
* Use BAutolock where appropriate.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 19:13:07 +00:00
Axel Dörfler e7cdf7f3f5 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 17:22:00 +00:00
Axel Dörfler 9cfc4c2ff8 * The slider now snaps to 0 dB when crossing that to ease finding the maximum
volume without distortion.
* Added about window.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30073 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 17:19:38 +00:00
Axel Dörfler cd7f1893eb * The slider position was actually computed incorrectly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 17:10:43 +00:00
Axel Dörfler b847381250 * Making it private doesn't help unless you have a const BSlider. Therefore,
removed it from the public namespace, and made it only visible when linking.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 15:50:03 +00:00
Axel Dörfler d9479a6951 * Added const version of GetLimits() (the non-const version is still around
for binary compatibility).
* Always round the bar thickness, or we get drawing artefacts.
* Cleaned up the header following our coding style.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 15:41:10 +00:00
Axel Dörfler 4e0b8ffdd6 * As Stephan pointed out, the roster will be NULL if the media server is not
running. Thanks! That's just another thing we should improve in R2.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 11:45:50 +00:00
Axel Dörfler bc608ebf93 * The volume now listens to parameter changes, and adapts itself automatically.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 11:26:19 +00:00
Axel Dörfler 3d2abd1bc8 * The mixer node is now exported.
* The node is no longer allocated separately.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 11:25:23 +00:00
Axel Dörfler 2ff47e1785 * Fixed bug I introduced when deleting parameters (no more crashing).
* Removed the BParameterWeb::{Start|Stop}Watching() methods again, as the same
  thing can be achieved using the BMediaRoster already (even though it doesn't
  seem to work yet).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-09 09:39:58 +00:00
Axel Dörfler 9a4b02535e * Better defaults: the status window should be visible on all workspaces.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-08 22:18:29 +00:00
Axel Dörfler 34c7214442 * BParameterWeb::StartWatching() now just calls BMediaRoster::StartWatching()
as on Dano - since the functionality is already there, those two functions
  aren't really needed, though, so we could remove them again.
* Cleaned up DataExchange.h, and added basic reply/request structs for anything
  that needs an area.
* BControllable now uses a helper class ReceiveTransfer to deal with requests
  with areas.
* Major style cleanup of MediaRoster.cpp, though one could still bury some
  hours there...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-08 21:17:03 +00:00
Axel Dörfler 5bb7f41847 * Fixed warning.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-08 21:10:08 +00:00
Axel Dörfler 8aa910b94c * Added missing SO_TYPE.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-08 15:24:45 +00:00
Axel Dörfler ab9873555a * Restructured the sources a bit, renamed SliderView to VolumeControl,
VolumeSlider to VolumeWindow.
* The VolumeControl is now a replicant, and be be dragged to the Tracker.
* Hence, moved all volume control stuff from VolumeWindow into the
  VolumeControl class directly.
* Changed menu a bit. Note that controlling the physical output currently
  does not work, but that's a problem of the media node in question (probably
  the multi audio add-on, I'll have a look).
* Added a small delay when clicking on the slider directly before the window
  is hidden, so that you'll get some feedback of your action.
* Added --add-volume, and --volume-control options to "desklink", the former
  adds the volume control icon to the deskbar, the latter opens the volume
  control window directly.
* Further cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-08 14:59:25 +00:00
Axel Dörfler db15cbbee1 * Added Dano-compatible BParameterWeb::StartWatching()/StopWatching() method
stubs.
* However, without a working Dano at hand, I can't really implement something
  compatible, so I'll postpone this to some later point.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30030 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-08 14:21:29 +00:00
Axel Dörfler eced4ba5a3 * Rewrote ParameterWeb.h.
* Adapted and cleaned up ParameterWeb.cpp.
* Fixed some copy&paste bugs in the BTextParameter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-08 14:13:33 +00:00
Axel Dörfler fe6c05fdbe * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30028 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-08 14:12:45 +00:00
Axel Dörfler 1f904d1e03 * If you do something, please try to do it right, or at least test it.
* The alert escape check was broken in several ways. First of all, the buttons
  can be NULL which suddenly crashed apps. Second of all, the check didn't even
  work as it was reversed.
* Also, I disabled the code for now, as I really don't think string comparison
  heuristics are the way to solve this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-08 08:23:07 +00:00
Axel Dörfler 6fc2d92bd3 * Fixed the buggy GCC4 work-around.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30017 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-08 07:57:32 +00:00
Axel Dörfler b494a17f1c * Replaced the volume slider with one looking just like any other slider.
* This is still work in progress, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-07 23:35:43 +00:00
Axel Dörfler a353e90fa0 * The audio mixer is supposed to support getting/setting only a single value,
such that all channels are affected.
* This fixes the "setvolume" command under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-07 23:32:00 +00:00
Axel Dörfler fd0399d738 * Remove executable bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-07 21:40:57 +00:00
Axel Dörfler ff99f481b2 * Removed the line view again. Sorry, but this is pretty useless, had a small
fixed size, didn't follow our coding style, etc.
* I did not remove the back-end code in the StyledEditView, though (nor did I
  had a look at it for coding style violations :-)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-07 19:50:03 +00:00
Axel Dörfler 42d0ef6fe4 * dump_socket() now also prints the actual parent again (not just its
WeakPointer).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-07 17:41:46 +00:00
Axel Dörfler 1111232758 * Sockets now inherit from WeakReferenceable.
* This fixes the problem when a socket changes something with regards to its
  parent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-04-07 16:07:15 +00:00