Commit Graph

27105 Commits

Author SHA1 Message Date
Axel Dörfler
2e04b65212 * Added test application for the GCC2 demangler.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 18:12:20 +00:00
Axel Dörfler
61791eda0c * count_namespaces() did not work correctly when there were more than one but
less than 10 namespaces.
* 'const' object methods are now properly handled.
* Template classes are now ignored as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 17:38:03 +00:00
Axel Dörfler
6179ce7957 * Removed the DEBUG_DEBUGGER_COMMANDS define again, and followed Ingo's
suggestion by adding a "faults" command that now sets the
  gInvokeCommandDirectly variable as wished.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 16:29:37 +00:00
Axel Dörfler
082466120e * The identify algorithm will no longer accept compressions it doesn't know
anything about (fix for ticket #2628).
* Fixed TReadHelper::ReadShorts() which only read half of the data.
* Disabled the stuff for the old Canon format for now (didn't work yet anyway).
* Tried to add RAW unpacked mode, but it doesn't seem to work yet (tried with
  an Olympus RAW image) (and is therefore disabled, too).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 15:15:14 +00:00
David McPaul
45d40b75b9 uint8 Fillbuffer should use sizeof(uint8) for divisor
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 12:00:57 +00:00
David McPaul
d0b2b559f5 match default buffer size to Mixer default
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 11:59:14 +00:00
David McPaul
593356d280 correct spelling error
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28378 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 11:57:43 +00:00
Axel Dörfler
b643734ad7 * Now handles function pointers as arguments correctly.
* Added optional tracing output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 11:36:05 +00:00
Axel Dörfler
9521c5abb6 * If DEBUG_DEBUGGER_COMMANDS is 1, invoke_debugger_command() will no longer
install a fault handler, allowing to debug KDL commands better.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 11:33:15 +00:00
Axel Dörfler
cca9f05114 * debug_demangle_symbol() did not set _isObjectMethod when there was no
demangle module (yet). This could cause a read fault in x86's
  print_demangled_call() (as it assumed there must be a ':' when this is true).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 11:16:01 +00:00
Axel Dörfler
225c0ed641 * Reverted parts of r28370:
- the check for compression when counting valid images was wrong, and
    broke all RAW formats that weren't using this compression.
  - COMPRESSION_PACKBITS was defined twice.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-30 09:29:14 +00:00
Rene Gollent
1d43a131ea Remove extra pixel constants that were always added to the total item height when calculating the vertical scrollbar proportions. This fixes the empty space that was always added to the end of the CLV (ticket 2980).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-29 23:46:28 +00:00
Jérôme Duval
3c17902449 missing tabs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-29 23:04:42 +00:00
Jérôme Duval
2c558054fe supports double clicking column title separator to preferred column size
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-29 22:50:52 +00:00
Jérôme Duval
3ebfe9b245 make sure we support the compression, it could be a tiff image
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-29 22:40:48 +00:00
Jérôme Duval
8824242b84 added some error output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-29 22:33:17 +00:00
Stephan Aßmus
9d42ec70c9 Several problems prevented USB HIDs to be opened, closed and reopened:
* The first problem was introduced by myself, when I added deleting the
  transfer semaphore in HIDDevice::Close(). Obviously, I should (re)create it
  in Open() then, or it won't work another time. (Open() is now the only place
  where it's created.)
* The second problem was when transfers have already been scheduled the
  last time the device was open, but never triggered yet. We need to reset the
  fTransferUnprocessed flag, or we won't schedule another transfer but
  wait on the transfer semaphore anyways in Control(). I also added
  canceling the usb transfers with the stack in Close().
* The remaining problems were specific to the KeyboardDevice, the repeat
  key stuff needs to be reset in Open(). I also added unsetting the repeat
  key when the key release is detected, but this should have already worked,
  because the semaphore timeout was reset to B_INFINITE_TIMEOUT.

One can now "/system/servers/input_server -q" and everything will be back
in working order. There may be some remaining problems in the Wacom driver
which I have not yet looked at.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-29 21:23:19 +00:00
Jérôme Duval
7ea4cf085e remove debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-29 18:39:58 +00:00
Ingo Weinhold
f067fa6943 Added /boot/common/{bin,include,lib} directories to image.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-29 08:02:14 +00:00
Gerasim Troeglazov
31aa96d87f first changes for new FS API support
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-29 03:06:32 +00:00
Ingo Weinhold
7c1db8e668 Updated the Perl optional package. It's still version 5.10.0, but the
installation has been relocated to /boot/common and socket support is
enabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-29 02:31:01 +00:00
Ingo Weinhold
162fecef46 Added GNU GPL version 1 and Perl's version of the Artistic license.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-29 01:27:49 +00:00
Ingo Weinhold
a9d23be2f3 Don't define "protected" macro in C++ mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-29 00:48:57 +00:00
Rene Gollent
a4f9a2b8c5 Fix various errors in handling specifiers and/or scripting messages. This
makes the Get, Count and Delete Replicant scripting directives work correctly,
and consequently fixes the Remove BSnow button (ticket #1897), as well as
commands like: hey Tracker Get Replicant BSnow of Shelf of View PoseView of Window 1



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-28 23:18:59 +00:00
Karsten Heimrich
072403a553 * fix the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-28 22:40:53 +00:00
Jérôme Duval
5d8c417782 Use a ColumnListView
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-28 22:05:33 +00:00
Maurice Kalinowski
3feea27945 whitespace and style cleanup, no functional changes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-28 19:54:43 +00:00
Jérôme Duval
58b80f0913 updated libpng to 1.2.32
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-28 19:35:14 +00:00
Rudolf Cornelissen
ddcb4e528c es1370 compiles on haiku now. no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-28 18:23:46 +00:00
Axel Dörfler
6e036f0479 * Updated glob.h and its implementation to FreeBSD current (1.10, 1.27),
adapted them to work on Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-28 14:13:30 +00:00
Ingo Weinhold
f20ccdc461 Fixed some incorrect behavior pointed out in #2990:
* The pthread_mutex_*lock() family should return EDEADLK when re-locking
  an error-checked mutex.
* pthread_mutex_trylock() is supposed to return EBUSY, not
  B_WOULD_BLOCK.
* pthread_mutex_unlock() should return EPERM when the caller is not the
  owner. It used to print a message and try to unlock anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-28 12:04:51 +00:00
François Revol
6805373afd Add the BeBook as optional package, patch from Urias McCullough.
I added it as dependancy for BeHappy.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-28 02:44:39 +00:00
Stephan Aßmus
e01a043190 Sorry for the confusing patch...
* Made KeyboardInputDevice more similar to MouseInputDevice, the object to
  track individual keyboards has become the class KeyboardDevice. Moved
  much functionality that used to be in KeyboardInputDevice into
  KeyboardDevice.
  Functionally, it should still be the same, but there are two important
  changes:
  - Each KeyboardDevice now has it's own Keymap. At first, it is not
    visible by the user, since all KeyboardDevices still adopt the keymap
    if the user reconfigures it. But it will make it easier to assign
    individual keymaps to each attached keyboard (and perhaps associate them
    with a vendor/product or some other means). The more immediate side effect
    is that there is no longer a confusion about the keyboard locks. If
    you press NumLock on your external keyboard, it will no longer enable
    NumLock on your notebooks internal keyboard.
  - KeyboardDevice now has a Stop() method, which it will call in it's
    destructor. This will make sure that the control thread is cleanly
    exited and does not end up invoking methods on a deleted object.
* Rewrote the tracing implementation in MouseInputDevice.cpp. At least it
  helped track me down the following problem:
* Both KeyboardDevice and MouseDevice now set fActive to "false" *before*
  closing the device. Since the control threads run at high priority, chances
  are high that rescheduling happens as soon as the device unblocks in
  ioctl() and returns an error. In that case, the control threads would
  check fActive and it would still be "true" and the whole idea of bailing
  out because we're already in Stop() would not work, causing a double free
  in the end.

All of this is nice and more correct, but input_server is still crashing
when restarting it via "input_server -q"... :-(


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 22:40:03 +00:00
Stephan Aßmus
393f282c79 * Mark InputDeviceListItems only as running if calling Start() for the
device returned B_OK.
* In the InputServer destructor, don't check the fAddOnManager pointer,
  but check the success of calling Lock() on it instead, which should
  be much safer.
* In StartStopDevices(), really start or stop all published devices for
  the given BInputServerDevice, not only the first one found. Simplify
  the check whether anything needs to be done.
* Change a bit the return codes of StartStopDevices(). Especially the
  version that's supposed to start or stop all devices will still try
  to do it for the rest of them.
* Removed no longer needed _FindInputDeviceListItem().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 22:19:55 +00:00
Stephan Aßmus
dab68c33ed * When a device closes, delete the transfer semaphore, so that threads blocking
on it are unblocked and get an error.
* Make fOpen volatile to prevent unwanted caching effects when checking it from
  different threads. (?)
* Check IsOpen() in the KeyboardDevice class in more acquire_sem_etc() return
  cases, analogous to the MouseDevice class.

I am still getting a problem when relaunching input_server with the input_server
add-on thread that ioctl()s on a USB keyboard fd, which should have never fired
because it's a fake device from a KVM. After the first input_server instance is
gone, this thread keeps on busy looping in acquire_sem_etc()->switch_sem() from
within the ioctl() of the KeyboardDevice usb_hid driver. Still on it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 16:52:39 +00:00
Stephan Aßmus
dae439fe60 Init the ref_count with 1, since the first AddPath() would leave it
at 0. A single AddPath()+RemovePath() would therefore leave a not
anymore needed path_entry(), while a AddPath()+AddPath()+RemovePath()
would remove/delete the path_entry while it was actually still used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 16:44:58 +00:00
Axel Dörfler
887be5801a * Don't try to update the DMAResource in case there is no medium (also saves
a panic when ejecting a disc, since updating DMAResource isn't implemented
  yet...).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 16:00:43 +00:00
Axel Dörfler
34034cf61b * _UnmountAndEjectVolume() now actually ejects the media, if configured, and
possible, ie. if no other volumes are mounted on the device.
* Fixed a operator precedence bug in GetSettings() when retrieving the mounted
  volume flags.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 15:42:00 +00:00
Axel Dörfler
a58e2ed8f8 * Added functions FindPartitionByVolume() and FindPartitionByMountPoint()
that conveniently bridge BVolumes/mount points with BPartitions.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 15:33:37 +00:00
Axel Dörfler
2ec100b72e * Implemented Eject().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 15:30:58 +00:00
Axel Dörfler
67804f25ed * fs_unmount() removed the vnodes of the fs_mount twice since r28215,
triggering an assert.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 14:33:58 +00:00
Axel Dörfler
1c78a18edc * Updated BePDF to the latest available package (1.1.0b1).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 14:26:16 +00:00
Stephan Aßmus
9dd2d40e39 Fixed a race condition and resulting deadlock I introduced, which
resulted in the keyboard not working (at least on my Lenovo/IBM T60).
The device control thread could become aware of a dead device
at the time another thread (for example the add-on manager thread)
is already waiting for it. Then it tried to remove the device and
got stuck on locks that the other thread already holds (InputDeviceItem
list lock). Now the control threads check the "active" flag before
trying to remove the devices themselves, which, when set, is a sure
sign that the devices are already being removed and they don't need
to take care of it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 11:28:25 +00:00
Stephan Aßmus
0d2fb32f12 As pointed out by Axel, this TODO is invalid.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-27 10:55:41 +00:00
Axel Dörfler
d5b30a2548 * As Marcus correctly pointed out indirectly, the bitmask for
ide_mask_sector_count_48, and ide_mask_LBA_*_48 were all wrong.
* Using the high byte in LBA48 mode should work now, too (wasn't written
  to the IDE controller before, but that shouldn't have been a problem yet with
  today's disks).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-26 22:14:20 +00:00
Axel Dörfler
1998abd8ea * Fixed off by one bug... math can be so hard ;-)
* This fixes bug #2880, ie. make the ide_adapter write the IDE task file
  correctly to the command register, CD-ROMs are working again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-26 18:27:54 +00:00
Ingo Weinhold
fad11a1c88 Strongly typed languages ftw.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-26 16:29:39 +00:00
Ingo Weinhold
801e9bd9f1 Always return what we've got from the socket module (error or number of
bytes received), but not B_OK on success.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-26 15:52:46 +00:00
Rene Gollent
3cead3c68e Make this check a bit more general purpose: in the case where the dragger is a child of the target view (probably the most common use case), we now verify that the dragger's frame is completely within the target, otherwise we reset it to a default position of the lower right corner. I'm not sure how to do similar validy checking in the case of the other relationships (or if that's even feasible) though. Comments welcome as always :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-26 15:22:02 +00:00
Ingo Weinhold
e360230ecd _user_xsi_msgrcv():
* Fixed some places that set an error return value but didn't actually
  return.
* Fixed success case return value. The number of bytes received must be
  returned, not B_OK.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-26 12:36:24 +00:00