Commit Graph

24553 Commits

Author SHA1 Message Date
Karsten Heimrich 15c0cece2b * don't print child views with invalid rect, this makes printing e.g.
from Scooby nearly the same as on R5 (still misses the gray header color)
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 20:21:40 +00:00
Oliver Ruiz Dorantes 3e24801283 L2CAP, without functionality, for the moment my playground in the netstack
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 20:16:00 +00:00
Stephan Aßmus 2ebec00b97 And now it should even compile again! Sorry about that, forgot to
remove the debug output completely.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 18:50:42 +00:00
Stephan Aßmus 3c1baac2ac Accidentally left tracing on...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 18:46:38 +00:00
Stephan Aßmus 64c4d8f606 I tracked down a problem with a specific clip I have here.
In the end, the problem was that no codec was installed
for it, but I fixed a bunch of issues on the way to find
out. Now the controller will not rely on the number
of audio and video tracks, but on the fact that it could
instantiate suppliers at all. Made the MediaTrackVideoSupplier
return an init error. Should be replicated for the
MediaTrackAudioSupplier.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 18:28:31 +00:00
Stephan Aßmus 12f1188b4f Do not reference bitmap color spaces directly anymore, but use
bitmaps_support_space() interface kit function. First try to
use overlays, if that fails, try again without overlays. The
NodeManager makes sure to fall back to B_RGB32 if the given
mode is not supported for drawing bitmaps in by BViews. Thanks,
Axel, for the suggestion!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 18:25:31 +00:00
Stephan Aßmus 50c7a8f997 Small code cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 18:21:55 +00:00
Stephan Aßmus 3dd59121c4 Resolved TODO and set the flags for the kind of additional
bitmap support (bitmaps support child views or BViews can
draw them)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 18:18:56 +00:00
Alexandre Deckner b17ef798c7 - Decouple ModulesView::SaveState() from ModulesView::_CloseSaver() and thus ModulesView::DetachedFromWindow(). When called by BWindow destructor,
the needed derived member fSettings was already destroyed by the derived ScreenSaverWindow destructor. See backtrace in #2287
  Fixes #2287 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25761 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 17:08:42 +00:00
Axel Dörfler 30f7fc408b An early version of an introduction to the new device manager. Will be expanded
more over the following days, and published on the website.
Comments welcome!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25760 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 15:45:22 +00:00
Axel Dörfler 64b2d16995 * Patch by Vasilis Kaoutsis to fix a warning in PaletteConverter::IndexForRGB16().
* Further cleanup by myself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 11:24:11 +00:00
Axel Dörfler cbeac9882f Patch by Vasilis Kaoutsis:
* FragmentPacket::Reassemble() would return NULL instead of an error when the
  packet was not yet complete.
* This didn't have any actual consequences, though, as Reassemble() was only
  called for a complete fragment set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25758 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 11:10:35 +00:00
Axel Dörfler b0f4256dcd Patch by Vasilis Kaoutsis:
* Update license and author information.
* Simplified operator==().
* Removed obsolete OpenBeOS namespace.
* Some style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 11:04:46 +00:00
Axel Dörfler 7bdf0e452a Patch by Vasilis Kaoutsis:
* Removed duplicate PAGE_SIZE definition (now defined in limits.h).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25756 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 11:01:44 +00:00
Axel Dörfler 24f792a822 * Ported ide_isa module to the new driver architecture.
* Minor cleanup of ide_isa, and generic_ide_pci (removed wrapper.h).
* Added ide_isa back to the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25755 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 10:37:58 +00:00
Ingo Weinhold 0cb2617fa5 Before starting to wait the undertaker does now check whether there's
already a dead thread available. Fixes a race condition.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 04:34:09 +00:00
Ingo Weinhold e72e5275ff Added test that runs another program and analyzes the contention of the
thread and team spinlocks during that time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 02:07:26 +00:00
Ingo Weinhold 1c8de8581b * Added optional spinlock contention measurement feature. Enabled when
B_DEBUG_SPINLOCK_CONTENTION is defined to 1. It typedefs spinlock to a
  structure (thus breaking BeOS binary compatibility), containing a
  counter which is incremented whenever a thread has to wait for the
  spinlock.
* Added macros for spinlock initialization and access and changed
  code using spinlocks accordingly. This breaks compilation for BeOS --
  the macros should be defined in the respective compatibility wrappers.
* Added generic syscall to get the spinlock counters for the thread and
  the team spinlocks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25752 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 02:04:12 +00:00
Stephan Aßmus e78b56aaf7 Fix the link target for Beam. Note that the R5 version cannot retrieve mails
either, it just hangs there trying ot connect and eventually times out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 21:18:08 +00:00
Axel Dörfler 032f1e5f90 * Fixed an endless loop when using vfs_get_vnode_name() or the "wrong"
get_vnode_name() variant.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 18:47:18 +00:00
Rene Gollent 7ee180f34d Fix I2C tracing, style cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 16:16:10 +00:00
Jérôme Duval 19b07e67d2 when acquiring results in an error, the resource should be reset to avoid a crash on delete
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 15:27:00 +00:00
Axel Dörfler 710b77326d * vm_cache::virtual_size is not always a multiple of B_PAGE_SIZE for files.
In these cases, the last partial page would have never been written back.
* This fixes bug #2282, and eventually others.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 10:53:10 +00:00
Ingo Weinhold 123dfa78e5 Enforce 80 columns maximum line length.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 02:40:08 +00:00
Rene Gollent 3104402815 gcc4 build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 02:36:47 +00:00
Ingo Weinhold 73aa393d73 * Introduced pipes in the kernel debugger. The syntax is similar to
pipes in the shell, though the semantics is a little different: The
  second command is invoked whenever the first command has written a
  complete line. The line is passed as last argument to the second
  command. The new command flag B_KDEBUG_PIPE_FINAL_RERUN causes the
  second command to be invoked again (with NULL argument) after the
  first command is done.
* Added kprintf_unfiltered() and kputs_unfiltered() which bypass the
  pipe mechanism and directly print to the bluescreen/serial output.
* Moved most commands from debug.cpp to the new
  debug_builtin_commands.cpp.
* B_KDEBUG_DONT_PARSE_ARGUMENTS commands don't get an argument anymore,
  if it would consist of white space only.
* Added new debugger command return value B_KDEBUG_ERROR, which
  indicates that executing the command failed. This return code will
  abort a complete pipe.
* Since debugger commands can nest (i.e. one command can invoke another
  one) the setjmp()/longjmp() mechanism to restore the stack after a
  page fault in a command needs more than one jump buffer.
* Added abort_debugger_command(), which longjmp()s out of the currently
  executed command. This will also abort the current pipe.
* When pagination is enabled pressing "a" will abort the running command
  (as opposed to "q" which only disables the blue screen output, but
  lets the command continue).
* Added debugger commands:
  - "grep" which can be used to filter output by pattern. Removed the
    "filter" command and the underlying mechanism that did that before.
  - "head" which prints only the first lines of output of another
    command.
  - "wc" counts lines, words, and characters of another command's
    output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 02:25:00 +00:00
Jérôme Duval 5f3c81d6a6 fix local variable naming
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 21:01:05 +00:00
Jérôme Duval 4eae685d97 replaced benaphore with mutex
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 19:50:53 +00:00
Michael Lotz b204648b75 Don't define UNIX when building zip as a build tool under a BeOS compatible
host. This prevents the BeOS and Unix specific zipup.h from clashing and allows
hybrid GCC2/GCC4 images to be built under BeOS.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 18:07:07 +00:00
Ingo Weinhold 2ed64c408d Patch by Michael Lotz fixing a missing typedef when compiling with
native compiler gcc 2 and cross-compiler gcc 4.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 16:39:56 +00:00
Axel Dörfler 3736cb7d04 * Ported scsi_cd to the new driver architecture.
* Added legacy_sata and scsi_cd back to the image.
* Minor cleanup in scsi_disk.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 16:09:31 +00:00
Axel Dörfler e67cf5815b * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 12:04:09 +00:00
Axel Dörfler fc128a4c76 * Made block_io.h usable from C++ (which doesn't like "typedef a *a" anymore).
* Renamed scsi_dsk to scsi_disk.
* Joined all scsi_disk sources together to a single scsi_disk.cpp file.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 11:59:02 +00:00
Axel Dörfler 654aaf6ee2 Quick build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 11:26:06 +00:00
Stephan Aßmus 4fd26cd542 Reuse existing nodes if the media formats do not change. This fixes the
regression that audio playback of multiple files was not "seamless" anymore.
Even video playback should be seamless, the remaining small glitch could be
a problem with buffer timeout if the switch takes too long.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 11:06:04 +00:00
Stephan Aßmus 4aa9ff58c6 Fix a locking problem with inner locks to protect the race condition when
the producer media nodes would access the suppliers in their own thread
without having any locks held, while the window could replace the suppliers.
I think since I delayed the deletion of the suppliers in the controllers, this
problem was only theoretical... but this is just more clean.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25734 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 10:39:45 +00:00
Stephan Aßmus 7bed1cb42d * The SeekSlider had the wrong follow mode. If the window was resized in such
a way that the transport group did not need to re-layout, then the seek
  slider would not be at the correct position.
* Layout the transport controls with a fixed maximum width in order to prevent
  spreading them too much.
* Fix "About" and "MediaPlayer" missing a space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 10:37:44 +00:00
Stephan Aßmus 474f214fdb Print a warning in case the video buffer is bigger than what should be
displayed, does not seem to be the reason for the problem I am observing
with one clip I have, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 10:35:43 +00:00
Stephan Aßmus d7f2503a08 * Support codecs that don't support B_YCbCrXXX color spaces.
* Leave the codec a chance to advertise the best output color space,
  try B_YCbCr422 as the most widely supported format in case the codec
  does not advertise.
* Support two more overlay colorspace modes in the video consumer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 08:46:11 +00:00
Ingo Weinhold 8d1699709a * For operations that implicitly install a MIME type, we no longer send
two notifications (install + update), but only the install
  notification.
* When create_app_meta_mime() installs a new MIME type (app signature or
  supported type), it only sends the install notification, instead of
  install + one or more updates.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-31 00:07:32 +00:00
Michael Lotz 9a18e1d269 * Do not delete the device handed over to the devfs when deleting the vnode
as it seems devfs should not take over ownership. The device is deleted
  in republish_driver for legacy drivers before the call to devfs_unpublish_device
  that in turn deletes the vnode. This looks generally suspicious to me as
  the device pointer the devfs vnode may still use gets invalid for a certain
  amount of time (until the node is unpublished). So maybe the devfs should
  take ownership of the device afterall and it shouldn't be deleted by the
  device_manager/legacy driver functions. Axel please review.
* Do not try to delete the IOScheduler for now as creating one is disabled
  currently too.

This fixes the crash on rescans of legacy drivers as seen when unplugging
USB devices.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-30 20:30:07 +00:00
Stephan Aßmus eaa3851e82 Build fix for GCC 4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-30 19:21:54 +00:00
Stephan Aßmus bbf1ff835d Added BMediaRoster class definition.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25727 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-30 19:17:37 +00:00
Michael Lotz 3cec30848c Fix build with TRACE_VFS enabled and also fix a warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25726 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-30 19:06:30 +00:00
Stephan Aßmus 0fc56ed57b * Moved a bunch of non-primary interface classes into a new subfolder
"interface"

* Complete reimplementation of the playback engine using Media Nodes:
- Seeking video files does not appear to lockup the playback anymore, but
works on a frame accurate level even for keyframe based streams. There is
currently a problem with certain container formats, the audio track reports
a "Device Seek Error" in certain conditions. In that case audio goes silent,
and can be restarted by going back to the beginnings of the stream.
- Video overlays are now supported.
- It would be possible to connect the output of the MediaPlayer to other
applications or dormant media nodes.

* Known regressions:
- The volume slider has currently no effect anymore.
- Switching the audio track during playback has a known race condition and
can crash the player.
- The new engine is not as "light weight" as the old one. I tagged the
previous implementation in tags/components/mediaplayer-engine-v1. It does
not seem to have any noticable effect though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-30 18:59:36 +00:00
Michael Lotz 2ec83efbb2 Fix one reason for crashing on legacy driver rescans, but there seems to be
more to it.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-30 17:45:27 +00:00
Stephan Aßmus 590c0d667c Darn... should have been part of my last commit:
Export the Read/Write locking strategies from the BPrivate namespace. Fixes
Icon-O-Matic build (RWLocker).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-30 14:12:04 +00:00
Stephan Aßmus 722f6c5cd0 Small cleanup of duplicated files. AutoLocker and AutoDeleter are already
part of headers/private/shared, Icon-O-Matic used older versions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-30 14:03:02 +00:00
Axel Dörfler 9abdb2222c * PoseView waited for 200 ms after a B_META_MIME_CHANGED message was evaluated
to give other windows the opportunity to mark the icon invalid before
  recaching it.
* Since we currently update all app MIME types on first boot, over 400 messages
  are generated, so that delay easily caused the message queue to get full.
* I've now reduced the wait to 10 ms, and also call BWindow::UpdateIfNeeded()
  afterwards, which empties the message port, too. This fixes bug #2212.
* Note though, this should be handled completely different to make it really
  work right.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-30 09:10:53 +00:00
Axel Dörfler 873066a8e1 A bit of cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-30 09:07:06 +00:00