Commit Graph

28495 Commits

Author SHA1 Message Date
Ingo Weinhold
fde6bf44b1 * Preparations for write support: Added a locking to the existing hooks. We
need to make sure that the paths of nodes don't change while we're meddling
  with them. We read-lock the directories up to the root directory for that
  purpose.
* Added missing locking for directory and attribute directory cookies.
  We have to do that, since concurrent readdir()s on the same dir handle are
  possible and we write-access the cookie data in such a case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 23:21:01 +00:00
Ingo Weinhold
474d27da32 Added RWLockable and RWLockManager classes. The former is basically a
light-weight read-write lock, that doesn't use a semaphore itself. Locking
and unlocking has to be done via methods of RWLockManager. This combo allows
lots of locks without risking to hit the semaphore limit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 23:13:56 +00:00
Ingo Weinhold
a3ff5c0561 * Added missing inclusion of <stddef.h>.
* Added AutoLocker constructor with the locking strategy as parameter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 23:09:49 +00:00
Axel Dörfler
e4aad26fec * While the new stuff isn't really ready for prime time, I've switched over
to it now (also to get some comments). It already looks better than the old
  one, at least.
* The KeymapWindow is now using our layout engine.
* Removed the old MapView.
* Do you think the text view is necessary? And the ability to switch the font?
  (I've removed both for now, comments welcome)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 22:12:31 +00:00
Axel Dörfler
13975ae8b8 Another work-in-progress commit:
* Started working on dragging keys around.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 22:09:37 +00:00
Oliver Ruiz Dorantes
52e3ce2c74 Mika Lindqvist & me
- Add Handling for MaxSlotChange
- Many Styling and consistency
- Debug output improved


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 21:45:23 +00:00
Oliver Ruiz Dorantes
131b93231a Add string with mtu and max packets the device can hold
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 21:27:53 +00:00
Oliver Ruiz Dorantes
8dc33083e8 Patch by Joerg Meyer
- Confirm some Broadcom will need a reset to work properly
- Add Bluetooth 2.1 strings for getLocalversion
- Styling



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 21:22:48 +00:00
Ingo Weinhold
5efbbbe0fa Missing space between Firefox and LibLayout. Spotted by "sarmale".
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 18:29:13 +00:00
Axel Dörfler
84b784b43d * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 17:54:22 +00:00
Stephan Aßmus
62b9a2ce0e * Header cleanup.
* Removed dead code which was for drawing a BButton like R5.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 13:26:56 +00:00
Stephan Aßmus
3d7e16f849 Updated Copyright.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29676 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 12:40:43 +00:00
Stephan Aßmus
8395cc347e Removed Windows line breaks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 12:40:24 +00:00
Stephan Aßmus
87854b4cfc * Fixed the space below the logo.
* Align the title with the logo base line.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29674 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 12:39:51 +00:00
Stephan Aßmus
f7335ab6ed Coding style cleanup, no functional change. Hopefully. :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 11:22:35 +00:00
Axel Dörfler
8ba65ba1b4 * Another work-in-progress commit: added dead key handling, started mouse
interaction, draw symbols differently.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 09:45:32 +00:00
Axel Dörfler
193882e035 * More cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-24 09:43:39 +00:00
Oliver Ruiz Dorantes
0b5931e024 - Implement client side of previous commit
- Add name for all vendor commands


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 23:10:21 +00:00
Oliver Ruiz Dorantes
dd5df90570 - Remove size output parameter creating commands
- Add support for reading the size of internals buffers of the bt chips
- Add support for Resetting the Device
- Add broadcom vendor command fro writting the bdaddr
- clean up the debug output



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 23:07:07 +00:00
Stephan Aßmus
ce65700663 Beautified the Tracker job status window:
* Centered icon in available space.
* Improved button layout.
* Pause button remains pressed when paused.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29668 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 15:03:41 +00:00
Axel Dörfler
94a62911e6 * Made GetChars() save against uninitialized keymaps (it will no longer crash).
* Added Map() function.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 14:15:44 +00:00
Axel Dörfler
42176b84a4 * Work in progress commit of the Keymap rework. Should not disturb the
existing code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 14:14:49 +00:00
Stephan Aßmus
7fd8106e2a Because I didn't remove all the old drawing code from all the controls, yet,
it's a lot of fun to compare the new and old look by pressing the Revert
button...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 12:28:21 +00:00
Stephan Aßmus
47e745c6db * Fixed the unified menu bar width calculations. SetDivider() got it wrong.
* _InitMenuBar() had the meaning of fixedSize reversed. The layout-mode
  constructors pass fixedSize = true accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 12:16:10 +00:00
Stephan Aßmus
cafee0b7f5 Improved/fixed the look of file panels. If I feel motivated enough, I may
also fix the font-sensitivity issues.
* The CountView can now draw part of the PoseView focus indication. Though I
  am not convinced anymore that I am approaching this the right way. Maybe
  scroll views should simply leave room for drawing a frame between child
  and scroll bars...
* ContainerWindow::BackgroundView uses the new BControlLook method to draw
  the scroll view frame to look just like a regular scroll view.
* Some fixes to layout of controls in file panels and minimum window size.
  There would be much more left to do...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 11:26:53 +00:00
Stephan Aßmus
5d67bb7cfa Use BControlLook new BScrollView drawing method. Should have been part of
last commit...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 11:20:16 +00:00
Stephan Aßmus
74bb70aef9 Moved the BScrollView frame drawing entirely into BControlLook.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 11:19:31 +00:00
Stephan Aßmus
cda78e4f8e Fixed more inconsistencies in layouting the menu bar. These would mostly
result in the BMenuField not always drawing all of the frame around the
menu bar correctly, for example cutting off at left for divider = 0.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 11:18:26 +00:00
Stephan Aßmus
227e55e5aa Also allow looking at save file panels.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 11:14:55 +00:00
Michael Pfeiffer
b94767fe93 Updated BePDF optional package to version 1.1.1b1.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-23 06:46:18 +00:00
Jérôme Duval
89bbd37a10 updated freetype to 2.3.9
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 23:19:15 +00:00
Ingo Weinhold
f11f17301f Implemented the attribute directory methods. Untested yet -- sshfs doesn't
support the respective xattr hooks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 22:15:23 +00:00
Ingo Weinhold
fd4f53a7a0 Implemented ReadSymlink() and Access().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29655 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 18:10:00 +00:00
Ingo Weinhold
b5884f05a3 * Got rid of from_fuse_error(). The client FS hooks are supposed to return
negative error codes now (e.g. using the new error mapping mechanism). This
  is necessary since the read() and write() hooks have to return a size or a
  negative error code.
* Implemented Read(). We can now read sshfs files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29654 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 15:49:10 +00:00
Ingo Weinhold
39d58e2f49 Experimental approach to tackle the problem with Be's negative error codes and
ported software:
* If the macro B_USE_POSITIVE_POSIX_ERRORS is defined the POSIX error code
  constants (ENOMEM, EINTR,...) will have positive values.
* Introduced the macros B_TO_{POSITIVE,NEGATIVE}_ERROR() which do convert a
  given error code to a positive/negative value.
* Added static library libposix_error_mapper.a that overrides all POSIX
  functions (save the ones I forgot to add :-)) directly meddling with error
  codes (having them as parameter or returning them) dealing with the
  positive<->negative error code conversions. The functions have hidden
  visibility, so they affect only the shared object they are linked into.
* So ideally all one has to do is to build a ported software with
  -DB_USE_POSITIVE_POSIX_ERRORS and -lposix_error_mapper and be good with
  respect to error code problems.
* Potential issues:
  - When mixing ported and Haiku native code, i.e. using Haiku native code in
    a ported software or using a ported library in a Haiku native application
    care must be taken to convert error codes where the two interface. That's
    what the B_TO_{POSITIVE,NEGATIVE}_ERROR() macros are supposed to be used
    for.
  - A ported static library can obviously not be linked directly against
    -lposix_error_mapper. The shared object linking a against the ported static
    library has to do that. The previous point applies when that causes mixing
    with Haiku native code.
  - When dependent ported libraries are used probably all of them should use
    the error mapping.

Comments welcome.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-22 15:43:03 +00:00
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