Commit Graph

25115 Commits

Author SHA1 Message Date
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
Michael Lotz
065ef7eb5f Replace the legacy driver mutex with a recursive lock. This fixes the deadlock
when hot-plugging a USB mass storage device. The legacy driver (usb_disk in
this case) was rescanned which locked the legacy driver mutex. The insertion
of the new device node caused the disk device manager (notified through node
monitoring) to try to scan the new node. As opening the node triggers
LegacyDevice::InitDevice() that locks the legacy driver mutex again a deadlock
occured.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-05 18:58:03 +00:00
Michael Lotz
2c19d5ec25 * Add Dvorak keymap contributed by Darian Rackham, thanks!
* Cleanup the license header and add authors
* Sort the available keymaps list in the config file and add 'dv'

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25806 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-05 16:34:30 +00:00
Jérôme Duval
53e6934549 converted acpi to the new device architecture
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25805 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-04 23:05:02 +00:00
Michael Lotz
9223644a02 Add a welcome message including the revision number when initializing the
syslog so syslogs always contain the revision number too (as does serial
output).
This is only necessary because the early part of the serial output (that
contains the revision number) does not make it into the syslog. So fixing that
might be the better way.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25804 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-04 18:37:29 +00:00
Michael Lotz
01e46bdb18 * Extract the KDL keymap to a separate header and provide a 'sg' swiss german
keymap there too.
* Add a config header where one can select what KDL keymap should be used
  (currently only 'us' and 'sg' are available though).
* Provide a third keymap that is used when the alt modifier is used (the swiss
  german keymap is pretty useless without alt as all the useful keys like
  backslash and curly braces use alt).

Our KDL is so powerful and nice to use, the only thing that bothered me was
that I always had to think about where some of the special keys are located in
the US keymap. So this simple compile-time keymap switching provided to be
helpful for me and might be for others too. Keymaps for other layouts obviously
have to be written before this becomes really useful.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-04 17:56:30 +00:00
Axel Dörfler
d11a6916ee More or less completed the introduction. I would just want to add the image,
and publish it on the website - comments are still welcome, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-04 11:40:00 +00:00
Axel Dörfler
fd7ff3cfc8 * While it's okay to allow nodes with fixed children to register their own
children, you either have dynamic or fixed children, never both.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-04 10:50:06 +00:00
Axel Dörfler
0dedf9f081 * Removed the now superfluous pnp_devfs.h header.
* There was a leftover in devfs that still needed it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-04 10:38:59 +00:00
Jérôme Duval
5b8d33bd75 * some typos
* a driver can register children and have a fixed child (ie for a bus manager).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 21:05:58 +00:00
Jérôme Duval
a5f249c795 use the typedef
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 20:13:59 +00:00
Rene Gollent
6cd1b6f737 Fix GCC4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 19:24:56 +00:00
Axel Dörfler
84a1454548 * Fixed warnings, and turned off debugging output.
* This fixes bug #2274.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25796 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 19:06:57 +00:00
Axel Dörfler
199893c3f3 Applied patch by Jan Klötzke with some changes by myself:
* The vesa driver/accelerant supports mode switching now. No special handling
  is needed anymore.
* Always write the vesa settings file to directly start with the right
  resolution regardless of the used graphics driver. Should save an additional
  mode switch while booting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25795 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 18:59:12 +00:00
Axel Dörfler
a2e19c60e2 This should have been part of r25793.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 17:45:54 +00:00
Axel Dörfler
6ec21b4ad3 * Implemented retrieving additional bitmap support flags by the app_server.
* Added B_BITMAPS_SUPPORT_OVERLAY flag to indicate overlay support for the
  color space.
* Rewrote GraphicsDefs.h - the previous one was obvious a copy of the Be header,
  including typos and strange white space. I was a bit lazy with respect to
  the color space details, and mostly trusted the information provided by the
  Be header else.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 17:44:46 +00:00
Stephan Aßmus
bddb4413d7 Do not remove the plugin from the list if the ref count has not reached
zero, otherwise we leak these plugins, since the ref counting is based
on the plugin still being in the list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 17:09:13 +00:00
Stephan Aßmus
cc4ed3f7e7 Honor the 80 char per line limit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 17:07:47 +00:00
Ingo Weinhold
9d00a03d7b Moved --no-undefined flag addition to AddSharedObjectGlueCode where it
is added in case of target platform haiku only.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 16:34:02 +00:00
Ingo Weinhold
15cdb34646 Fixed gcc 4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 16:31:36 +00:00
Axel Dörfler
0db852e1bf Fixed copy and paste error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 16:00:09 +00:00
Ingo Weinhold
4386ce0206 Pulled the TermView interface used by TermParse into a new interface
class TerminalBuffer, which will evolve into a TermBuffer replacement
and decouple the parse thread from the window.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 15:29:10 +00:00
Axel Dörfler
d16ddc579c * The boot loader now passes on its EDID info to the kernel, and that will
be put into a boot_item in frame_buffer_console_init().
* The VESA driver now supports gettings the EDID information as well; this
  is necessary now, since the app_server no longer takes over the mode the
  boot loader had chosen.
* Note, we might want to do this via vm86 instead in the future, and remove
  the kernel part again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 15:17:59 +00:00
Ingo Weinhold
7870b77c18 The Executable and Addon rules also use --no-undefined, now. Apparently
-nostdlib disables that for executables although it should be enabled by
default.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 15:13:33 +00:00
Ingo Weinhold
2a33a944e5 Don't spam to the standard output when not finding a symbol.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 15:05:16 +00:00
Ingo Weinhold
992330f54b _user_debug_output() used kputs() and thus wouldn't print anything
anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 15:04:09 +00:00
Axel Dörfler
1938efc0a9 * Renamed the "simple" mode setter Screen::SetMode() variant to SetBestMode();
it can also no longer create a default mode.
* This SetBestMode() function now follows a similar logic than the boot loader,
  that is, only the width must not deviate, all other values are chosen as
  close to the original as possible.
* VirtualScreen::AddScreen() now follows the same logic as the boot loader in
  case no configuration was found, and the current screen has no preferred mode
  (for example via EDID). That is, it will first try 1024x768, and then 800x600.
* This means there is no mode change anymore when switching from the boot
  loader to the app_server in Qemu and VMware.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 14:35:31 +00:00