Commit Graph

28310 Commits

Author SHA1 Message Date
Stephan Aßmus 4b0f97863f Change label of Mount menu to just "Mount", as in Tracker. The items mounted
could be something else than disks anyways.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 11:49:50 +00:00
Stephan Aßmus 5b8725efcc * Added code for opening a BFilePanel.
* Made sure that the BButtons use the maximum available width. This makes the
  whole layout use the full available size.
* Added optional code to test layout item usage of BTextControl and BMenuField.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 11:29:40 +00:00
Stephan Aßmus 31852cb13e Various fixes to BMenuField behavior:
* In layout mode, using a BMenuField directly will make it behave like using
  a fixed size BMenuField in non-layout mode. This is open for debate, but
  not a change to the previous behavior. When using the Label and MenuBar-
  LayoutItems though, the behavior is now changed to be more what one would
  expect, ie the BMenuBar part is layouted across the full available width
  just like it happens with BTextControls.
* Fixed invalidation of the BMenuBar when it auto-resizes according to picking
  another item, and when it is resized due to layout changes.
* Fixed the problem with growing BMenuFields in file panels after changing
  folders the first time. The fix is not so nice, but the purpose of setting
  the menu item margins is to make sure it renders at the same vertical
  offset as the BMenuField label. The better fix would be to change the
  calculation of the content location or required margins in the BMenuItem
  code... however the BMCPrivate code needs to account for the popup indicator
  in the margins so I just kept the fix for the offset there as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29650 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 11:27:01 +00:00
Stephan Aßmus ca4463c296 Small cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 11:19:04 +00:00
Joachim Seemer b3abe8046a * Small improvements here and there, esp. heading hierarchy.
* Renamed "Showimage" to "ShowImage". Thanks mmadia.
* Some more tweaking of box padding in the CSS.
* Added "Expander", adjusted contents of applications.html


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 08:45:56 +00:00
David McPaul 5bdaad49f9 include some bug fixes from libmpg123
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 07:24:44 +00:00
David McPaul 7eae23728e Standard Index now handles entries that are absolute offsets instead of relative
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 07:22:39 +00:00
Ingo Weinhold a2dad9e1a9 get_library_symbol(): Simplified the RTLD_NEXT case. The caller is not bound
to search for a function with the same name as the calling function, so we
really don't need to find the calling function; the calling image suffices.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 01:39:34 +00:00
Ingo Weinhold 89569e1852 * Include <Errors.h> -- we're checking for an error constant.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 01:33:47 +00:00
Rene Gollent 24fde47c7a Introduce an experimental new scheduler intended to work fundamentally the same as our existing one, but with various optimizations to better handle the SMP case:
1) We now maintain a runqueue per CPU, rather than a single global shared queue. Idle threads are segregated into their own queue for simplicity.
2) Enqueueing threads is now somewhat more intelligent - if the thread is pinned, it is always enqueued onto that core. Otherwise we enqueue it on whichever CPU it previously ran, unless it either hasn't run before, or that core has been disabled via ProcessController. If so, we try to enqueue it on whichever core has been the most idle recently.
3) The above allow various simplifications to thread scheduling. Pinned threads and/or disabled cores are now no longer special cases that need to be dealt with. If a CPU has no threads ready, it looks for another one to steal a thread from, though that part still needs some tuning along with enqueueing for load balancing purposes.

The chief aim here is better load balancing and support for soft affinity. However, at the moment the overall behavior still exhibits some regressions compared to the old scheduler, so it's disabled by default. If you wish to experiment/debug with it, instructions for enabling it can be found in scheduler.cpp. Much thanks to Ingo, Axel and everyone who's helped with either code review/advice or testing so far.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 00:39:51 +00:00
Oliver Ruiz Dorantes 3c80fd53bf Show local version information, update about box credits
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 23:09:56 +00:00
Oliver Ruiz Dorantes 937bccdbde Avoid destroying the descriptors at closing devices. Thhis allow quitting and relaunching the bluetooth_server without losing functionality
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29641 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 22:27:13 +00:00
Oliver Ruiz Dorantes 3226176456 Fix array indexation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 22:06:15 +00:00
Oliver Ruiz Dorantes 3fdaa5bf72 - Drop R5 compatibility by removing first 4 bytes in the IOCTLs containing the size of the command.
- Implement mechanism GetProperty to retrieve detailed information about the LocalDevice
- Generic BluetoothDevice interface changed and adapted
- Implement ReadLocalVersion to be aware of the bluetooth specification supported by our localdevice



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 21:38:00 +00:00
Stephan Aßmus aac2df0f0d The enabling/disabling of applications flags is now properly tracked and
the new BAppFileInfo feature to remove those flags is used to actually
store this according to what the user configured. If this discrepancy was
the only reason for ticket #3002, then it should be fixed now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 21:20:20 +00:00
Oliver Ruiz Dorantes bd88ac9707 - Move and implement some helper functions to a non private header(revision version etc)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 21:18:51 +00:00
Stephan Aßmus 22920adf3e Added a way to remove the application flags from the BAppFileInfo. The
flags would not tell anything, since B_SINGLE_LAUNCH equals 0.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 21:16:23 +00:00
Ingo Weinhold be07036291 A non-empty volume name looks much better in Tracker.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 21:09:29 +00:00
Ingo Weinhold fe24dc3df4 * Fixed the directory filler callbacks. It is possible that it is passed a NULL
struct stat (new callback) or a 0 type. So if we don't have a node type, we
  need to stat the node.
* Added simple opening/closing of files (no reading/writing yet).

It's now possible to browse sshfs volumes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29634 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 20:58:15 +00:00
Ingo Weinhold c029607ba8 Support 0 file descriptors/infos in poll()/wait_for_objects(). Fixes #3591.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29633 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 20:23:36 +00:00
Stephan Aßmus 08ff393d50 Fix DraggableContainerIcon drawing after recent BControlLook method signature
change for DrawMenuBarBackground(). The borders are passed one position later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 17:39:52 +00:00
Stephan Aßmus cb6afcb146 * Give Deskbar a refreshed and cleaner look.
* Fixed a bunch of problems in layouting the various views. (For example,
  the last app menu entry is no longer one pixel too short, but there was
  more...)
* Fixed Deskbar being not wide enough for the Haiku logo in certain modes.
* Enabled the mount menu. I think it's a good idea to have at a more prominent
  location where new Haiku users may look for it (Gnome also has this in
  the main panel).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 17:27:06 +00:00
Stephan Aßmus 40a10e1c52 Added method to draw an arrow shape like that of the BScrollBar.
TODO: Adjust BScrollBar to use it.
TODO: Make it virtual like the others, but I don't want to break Vision and
other native Haiku apps just now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 17:22:56 +00:00
Oliver Ruiz Dorantes 49c80ab55d - Add KDL command to check driver memory usage
- Use the fetching function to get snetbuffers => reduced memory leaks& usage, used only 4 buffers per device



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 16:01:34 +00:00
Oliver Ruiz Dorantes a99504cae3 - Fix the snbuffers recycling mechanism. Park function was not parking if the queue was empty at first instance. Fetching caused corruption freeing the previous buffer of the best matching one.
- Add debug methods



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29628 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 15:35:22 +00:00
Stephan Aßmus 55c030c4e2 Unbroke the "Mount Menu in Deskbar" feature. It re-uses the MountMenu code
from libtracker.so. BTW, I like this feature, since it gives mounting volumes
more visibility. But this commit does not enable it. Use

-SubDirC++Flags -D_SHOW_CALENDAR_MENU_WINDOW=1 ;
+SubDirC++Flags -D_SHOW_CALENDAR_MENU_WINDOW=1 -DMOUNT_MENU_IN_DESKBAR=1 ;

in the Deskbar Jamfile to enable it.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 11:34:06 +00:00
Michael Pfeiffer 1b1b6fce17 Applied patch of ticket #3169 by oco: Set default partition correctly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-21 10:23:34 +00:00
Rene Gollent ad6da7913a Set the initial level based on where we first click. Should fix ticket #3586.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 18:52:57 +00:00
Ingo Weinhold 41464387bd As per the documentation of the statfs() hook, some statvfs members are
ignored. So we must not use them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 16:34:23 +00:00
Ingo Weinhold 8d0f474ca1 * Added support for the zero offset method for the readdir() hook's filler
callback.
* Added support for the deprecated getdir() hook.
* Fixed various bugs.

Listing the root directory with sshfs does now work. For subdirectories
stat()ing the entries seems to fail, which might be due to the yet missing
open() support.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 16:13:12 +00:00
Ingo Weinhold b4d95b2afa Forgot to add in my previous commit. Defines the FUSEEntry, FUSENode structs
and the respective hash table definitions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 11:15:32 +00:00
Axel Dörfler c8b762e456 * Userland applications can no longer delete kernel semaphores. However, they
are still allowed to delete semaphores of other teams...
* Anyway, this fixes bug #3585.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 08:29:50 +00:00
Ryan Leavengood 0237261547 Fix #3577: allow the mouse wheel to change volume in the DeskBar widget. Mouse
up increases volume, mouse down decreases it, by 5 at a time.

One issue is you must have the pointer directly over the slider for this to
work. I wonder if the B_POINTER_EVENTS in SetEventMask should also apply to
mouse wheel events?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 03:26:00 +00:00
Ingo Weinhold f06f733751 * More work on the file system initialization. Mounting/unmounting works now
with sshfs.
* Added basic node and entry management, which we need, since the FUSE
  interface works with paths only, while our VFS plays with node IDs and
  node cookies.
* Implemented most of the mandatory hooks (vnode operations, lookup, read stat,
  open/close/read dir). I was hoping to get directory listings with sshfs now,
  but as I had to find out, it implements the deprecated getdir() while we
  only support the new {open,read,release}dir() interface yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29619 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 01:26:53 +00:00
Ingo Weinhold 02442071c3 Ugh, apparently I forgot to implement HasVNodeCapability(). Now we're actually
saving the trips to userland for hooks that aren't implemented there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 01:18:32 +00:00
Ingo Weinhold 08edcdfb61 Added interface constant for FUSE.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 01:15:26 +00:00
Ingo Weinhold 609c5aceee The open() and opendir() hooks are mandatory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-20 00:38:34 +00:00
Rene Gollent 591911f345 Update gcc4 package with the aforementioned changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 23:08:35 +00:00
Rene Gollent 9dd3f93aa0 Updated gcc2 Vision package with some UTF-8 bugfixes from Francois, and to pick up some updates made to ControlLook in the Haiku tree.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29614 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 22:17:11 +00:00
Ingo Weinhold 1d077f8397 * Added "fuse_api.h" header wrapping the inclusion of <fuse.h>.
* Implemented the fuse_fs_*() functions.
* More work on the initialization procedure for the client file system. We do
  now start a separate thread which calls the main() function. It won't return
  from fuse_main_real() until unmounting the FS. We create a fuse_fs structure
  and call the client FS initialization and cleanup hooks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 18:28:45 +00:00
Ingo Weinhold f68892b93e deliver_signal() SIGKILL:
* Use atomic_or() to update sig_pending of the main thread.
* We didn't call update_thread_signals_flag() for the main thread, so its
  handle_signals() wouldn't be called, resulting in an infinite loop, if this
  signal interrupted a restartable syscall. Calling exit() from another thread
  than the main thread was likely to run into this problem. Should fix #3178.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29612 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 13:57:10 +00:00
Ingo Weinhold 7e6a04c78e Use the actual file system name.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 13:14:39 +00:00
Ingo Weinhold 69cd702b39 Pass the file system name to the FileSystem base class and store it there.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 13:14:12 +00:00
Stephan Aßmus 432ce3738d * Tracked down the mkdepend tool which Ingo used in his updated makefile-engine
which auto-generates dependencies. It was written by Lars Duening for BeOS
  and uses libglob, which is also part of make. To re-use libglob and since
  make is already part of the Haiku tree, I added mkdepend to the bin tools.
* Added Lars Duening's copyright to AboutSystem.
* Added skeleton makefile and makefile-engine to data/develop.
* Added mkdepend and makefile-engine files to the Development optional package.
  It could be argued to move the make bin command there too, from it's current
  location in the HaikuImage file. However, make could be useful to always
  have available.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 12:19:41 +00:00
Ingo Weinhold d15b54c97f Removed HAIKU_ADD_ALL_OPTIONAL_PACKAGES build variable. It did more harm than
good lately.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 12:15:13 +00:00
Ingo Weinhold 292e63bf9f * Applied (slighly modified) patch by Matt Madia: When the
--alternative-gcc-output-dir configure option has been specified,
  HAIKU_ADD_ALTERNATIVE_GCC_LIBS is set by default. One has to explicitely
  unset it in UserBuildConfig to avoid building the alternative gcc libs.
* Adjusted documentation accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 12:06:15 +00:00
Stephan Aßmus c61af1596f Proof-read the installation guide (very cool work!), some small fixes and
improvements. I added mentioning the UserBuildConfig a couple more times
further down, just in case someone skipped these parts. Then the mentioned
commands won't work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 09:04:21 +00:00
Axel Dörfler defc7c56fb * One should not rely on the comma operator being evaluated right-to-left as
it was done in SAS/C... (yeah, that was ages ago). This fixes bug #2030.
* Also, we should probably check if the area we're about to shrink/remove
  actually is a reserved area.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 08:55:28 +00:00
Ingo Weinhold c93232896f Added FileSystem and Volume subclasses for the FUSE interface. ATM they are
mostly skeletons, doing a bit of initialization.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-19 01:36:40 +00:00
Jérôme Duval 7305309909 * proposition to fix a deadlock between kernel daemon and package installer install thread (bug #3447)
to manage this, avoid locking the main sLock in notification handling methods. Instead fill up two lists which will be emptied later by the kernel daemon thread.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-18 22:59:50 +00:00