Commit Graph

24791 Commits

Author SHA1 Message Date
Michael Lotz
5e760150c2 * Add read, write and total count to the ports KDL command so one can see
what the ports of a team are up to without having to go through each port
  individually.
* Enlarge the port id column so even large ids fit nicely.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-08 00:23:17 +00:00
Michael Lotz
ea2bcbf4af * Fix leaking the user and combined screen and user clipping.
* Fix using fScreenAndUserClipping directly in CopyBits() that could crash
  when in fScreenAndUserClipping wasn't used (when there's no user clipping
  for example).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 23:49:04 +00:00
Michael Lotz
3c905d812f Adding DrawingDebugger app that creates a port listening for BRects that then
get drawn into a window with random colors. With that one can for example add
code to the app_server or interface kit classes that push through rects or
regions to see what exactly is going on in drawing operations. Code examples
of how to use are at the top of the file. Has fixed window dimensions though
as I was lazy :-)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 23:37:58 +00:00
Michael Lotz
f0c3c996cd * Decouple local and user clipping into normal local clipping and a user
clipping region pointer.
* Provide _ScreenClipping() that only includes local and screen clipping but
  not user clipping.
* Provide ScreenAndUserClipping() that returns screen clipping if no user
  clipping is present, or returns a combined region that is then cached.
* Adapt all places where the former methods are used and decide which one to
  use depending on the relevance of user clipping.

User clipping is now ignored for background clearing and when determining
whether or not to call Draw() on a view. This should make Haiku behaviourally
compatible with BeOS (confirmed by the ClippingAndRedraw test app) and should
also fix the Firefox redraw issues. Stephan please review!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25854 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 23:09:21 +00:00
Michael Lotz
680a35bbdb Add a simple test that demonstrates that the Haiku app_server incorrectly
(or at least incompatibly) uses the user set clipping region when determining
whether or not to call Draw() on a view. Under BeOS when a some part of a view
is exposed it will always trigger a Draw(), even if the current clipping region
disallows drawing in the supplied update rect. Under Haiku however the view is
not considered for an update when the current clipping region does not
intersect with the newly exposed area.
Running this test app from the Terminal this behaviour can be seen. When
clicking inside the window a floating window pops up. When clicking again it
goes away and triggers a redraw. When hitting a key, a clipping region is set
that does not overlap with the floating window. After this clipping is set,
the view does not get any Draw() call anymore when the floating window goes
away.
This is the reason for the redraw issues in firefox, as firefox uses the
clipping region to constrain its asynchronous drawing, but does never reset
the clipping to NULL. As firefox just collects the update rects in Draw() and
then draws the contents itself, once the clipping region is set, many of the
Draw() calls don't get called and the interface parts are never redrawn.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25853 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 21:53:08 +00:00
Rudolf Cornelissen
f31163e967 probably/hopefully fixed auich driver for many systems: note that the codec_access_semaphore will NOT be reset on certain systems if an illegal/non existing register was accessed before. We need to do the access anyway to get such systems working. I hope someone can create a more extensive entry in syslog here to identify the offending access as that can be done AFAICT. This will help improve the driver later on because the non-existing-register accesses could be removed. Anyhow: I think the change I just did should remain, as it makes the driver more fault-tolerant to faults in itself (or hardware). Lowered the wait time to 1mS btw as that should suffice big_time. My Dell Inspiron C610 laptop with ICH3-M and Crystal CS4205 now works perfectly. No sound at all before.. Fix found in Linux-2.6.17/sound/pci/intel8x0m.c. Hope no-one is offended by my 'intrusion' here. Bye.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25852 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 19:28:27 +00:00
Jérôme Duval
765e53019a acpi_ns_dump was merged into acpi_busman
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 18:39:30 +00:00
Jérôme Duval
22dcb7a5bf Converted acpi_thermal to new driver architecture
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 18:33:58 +00:00
Stephan Aßmus
e4ddc13a40 Revert the bad part of my previous change. Wasn't supposed to exchange
the modifier key.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 17:19:19 +00:00
Rene Gollent
ef83ae3e0b Remove BOutlineListView's home-brew quicksort implementation in favor of a comparator that hooks into the STL's sort algorithm as suggested by Ingo. Tested and seems to work nicely.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 16:14:30 +00:00
Stephan Aßmus
636427b614 Axel!! Since _Thursday_ I am trying to track this down. "MediaPlayer wouldn't
play any more clips." Of course I was searching in my own commits. In the
end, I resorted to binary searching revisions for when this broke. Turns out
it is your change r25793/r25794, in which you forgot to attach the colorspace
to the app_server message. Which of course makes it lock up. Another of those
instances where you think passing data structures between client and app_server
instead of this "protocol" would be the better idea...

* Fixed bitmaps_support_space() retrieving the currently supported overlay
flags for a given color space. This makes MediaPlayer play files again, the
media node connection would time out because of the broken app_server
communication. (I have not tested this change yet, but I will in a minute, on
a different computer.)
* Also retrieve the overlay supported flag for YCbCr colorspaces.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 15:14:00 +00:00
Stephan Aßmus
5f01a858b2 * Check return code.
* Make check slightly more readable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 12:50:37 +00:00
Stephan Aßmus
99327c079d Fixed typo in script.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 12:46:50 +00:00
Stephan Aßmus
68cbefe99b Fixed typo in printf output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 12:46:29 +00:00
Stephan Aßmus
76a50eaab1 * Fixed typo in "pretty name".
* Improved debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 12:46:07 +00:00
Stephan Aßmus
293ccd77f9 Honor 80 char line width, not complete.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25842 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 12:45:17 +00:00
Stephan Aßmus
7554633d60 Improved tracing output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 12:44:39 +00:00
Stephan Aßmus
1dedfc14ae More specific tracing output when rejecting partitions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 12:43:59 +00:00
Stephan Aßmus
cf7e57ef10 Small coding style fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 12:39:56 +00:00
Stephan Aßmus
3d4b8c879e Added one more define that helps when host headers are included.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 12:39:14 +00:00
Stephan Aßmus
896d01df1e Removed trailing white space.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 12:38:28 +00:00
Michael Lotz
8047041d7c Put the USB stack components and usb_disk in the boot module symlinks. This
should make default images bootable from USB automatically. DDing one to a
USB stick should work out of the box then (but this wipes the stick of course).

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 10:48:49 +00:00
Rene Gollent
fed7414a59 A view shouldn't be able to RemoveChild a view that it isn't in fact the parent of.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 07:10:08 +00:00
Jérôme Duval
c9ca11bf43 added B_FIND_MULTIPLE_CHILDREN on acpi devices as suggested by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 22:32:29 +00:00
Jérôme Duval
75d2085651 fixed listdev and device_manager syscalls
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 22:23:25 +00:00
Rene Gollent
bf319ba31d Remove stray debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 21:03:37 +00:00
Rene Gollent
e90b17a854 Fix logic bug in quick sort routine. This would result in infinite recursion such as that in bug #2343.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 21:01:51 +00:00
Michael Lotz
a92156e1cf Initialize the mutex before using it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 20:36:23 +00:00
Michael Lotz
e109130a10 Fix a deadlock when removing a mass storage device that had active transfers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 20:30:58 +00:00
Michael Lotz
cba41147ef * Unify reading the FAT volume label. One of two places didn't yet handle FAT32
volume labels at all.
* Use the common function in both identifying and mounting the volume so the
  name is in sync between what the disk device manager got through scanning and
  what Tracker gets through reading the fs stat.
* Strip trailing spaces from volume names in all places.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 18:53:44 +00:00
Rene Gollent
642695c2fe Build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 15:27:28 +00:00
Alexandre Deckner
bd8185aba2 - In vertical mode, TExpandoMenuBar used its own width to set the width of a newly added item. Removing the last item made the MenuBar resizes
itself to (0,0), and broke further item width computation. We now use the parent view width (BarView) instead. This fixes #471 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 15:07:40 +00:00
Stephan Aßmus
ae4ebbcca6 * Use NULL instead of 0 for some pointer initializations.
* Slightly more debug output for failed atempts to create a decoder.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 13:07:02 +00:00
Stephan Aßmus
9639f1bf6c * Move the color_space_to_string() function into it's own file.
* On BeOS "bitmaps_support_space()" returns false for YCbCr color spaces. :-(
* Refactor the code which sets up the decoded format in the MediaTrack-
  VideoSupplier to always start with a clean format for multiple calls to
  BMediaTrack::DecodedFormat().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 12:40:10 +00:00
Michael Lotz
b1385bc32d * When encountering an unrecoverable error at least turn off interrupts until
we properly handle this case (cancel everything and reset the controller) to
  avoid flooding the system with interrupts.
* Also only check for enabled interrupts to not steal potentially shared
  interrupts.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 11:45:10 +00:00
Michael Lotz
856c49e614 Only check the explicitly enabled interrupts in EHCI. Otherwise we might steal
a shared interrupt from someone else.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 11:23:38 +00:00
Stephan Aßmus
d39288b8d6 * Actually set the format to B_RGB32 when retrying for that format.
* Do not exit in case of success to retry with B_RGB32, so the bytes per row
  check is performed.
* Ignore if bytes per row is big enough.
* Check the success for the last attempt to set DecodedFormat().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 10:36:50 +00:00
Stephan Aßmus
df13386015 Do not insert a new playing state when seeking to the same frame. In the
end, this results in trying to decode the last frame again, which would
the decoder to seek unnecessarily.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 10:33:47 +00:00
Stephan Aßmus
6d0505fffc The seeking algo stopped decoding frames one frame too early.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25819 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 10:17:28 +00:00
Axel Dörfler
3b2c863f1c The "search.h" header had a couple of issues:
* It was not self containing, as it used size_t without defining it.
* It was not C++ safe.
* It used the restrict keyword that is not recognized in GCC2. This fixes bug
  #2262.
* It did not contain parameter names as demanded by our coding style.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25818 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 07:42:58 +00:00
Rene Gollent
4284d925c6 Build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 05:27:01 +00:00
Michael Lotz
45b959656f Missed that file in the commit for r25812.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-05 23:36:24 +00:00
Michael Lotz
24b493f904 Updating the resource definitions of the USB stack components.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-05 23:32:58 +00:00
Michael Lotz
7d9e7cab36 Also use the interface index when generating the report descriptor dump.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-05 23:29:26 +00:00
Michael Lotz
9bdf88b686 Even though there is a space after that backslash GCC4 complains...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25813 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-05 23:28:39 +00:00
Michael Lotz
f5b3a6a796 * Initialize all static mutexes in the kernel through a MUTEX_INITIALIZER()
and remove the then unneeded mutex_init() for them.
* Remove the workaround for allowing uninitialized mutexes on kernel startup.
  As they are all initialized statically through the MUTEX_INITIALIZER() now
  this is not needed anymore.
* An uninitialized mutex will now cause a panic when used to find possibly
  remaining cases.
* Remove now unnecessary driver_settings_init_post_sem() function.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25812 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-05 23:19:27 +00:00
Michael Lotz
2b31f85c9e Fix two warnings caused by previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-05 22:18:31 +00:00
Stephan Aßmus
171d365edf Honor the 80 chars per line limit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-05 21:17:19 +00:00
Michael Lotz
a9fbc5482c Give the debugger add-ons a chance when reading input characters. They already
got a debugger_getchar hook, it just wasn't used yet. Not that there would be
any debugger add-on implementing that hook currently...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25809 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-05 21:16:34 +00:00
Michael Lotz
22b2f0e6b5 * Panic when trying to lock a mutex twice from the same thread. Should make
mutex deadlocks more obvious.
* Fix wrong function name in panic string.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25808 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-05 21:01:47 +00:00