Commit Graph

20415 Commits

Author SHA1 Message Date
Axel Dörfler
eeb608e1c7 * StringFromStream() did not work correctly for empty strings (messed up the stream
position).
* StringFromStream() called BString::LockBuffer() with "length", but touched "length + 1"
  bytes.
* Prepared for the new "display as" FileTypes feature.
* The "DefaultQueryTemplate" folder now adds the MIME type of the folder to the
  attribute menu for simplified editing (before, you had to move a file with a
  matching file type into that folder to be able to add the attributes you likely
  wanted to see).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-26 17:43:55 +00:00
Axel Dörfler
985d6b5437 DiskProbe now also allows you to open directories; even though you can't access their
stream, you can still see and change their attributes (same for symlinks which were
already allowed before).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-26 16:09:08 +00:00
Axel Dörfler
cba2053487 Style changes courtesy of Vasilis Kaoutsis - thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-26 14:13:05 +00:00
Axel Dörfler
d2d8f91af5 Fixed copy&paste bug, thanks Stippi for noticing!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-25 23:48:47 +00:00
Axel Dörfler
b418398455 * Removed _GetWindowList()
* _WindowAt() and _CountWindows() now have an individual version of that
  code which should be magnitudes faster.
* _WindowQuitLoop() no longer handles hidden windows specially - instead,
  it now walks the window list in the correct direction which should fix
  the issues.
* Also, it now uses WindowAt() and thus has an up-to-date view of the
  window list (it will no longer ignore new windows).
* And finally, it will no longer dereference an unsafe pointer (for
  BWindow::IsFilePanel()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-25 23:38:45 +00:00
Stephan Aßmus
880e4292a1 * implemented an xvid based decoder plugin
-> It is currently disabled, because it won't link.
   I would need to add xvid to the tree, but that would add nasm
   as a build dependency. I need to talk this over with Ingo. However,
   it is quite easy to build xvid yourself and link the decoder, should
   you want to test it. It works fine under ZETA when compiled to use
   the undocumented R5 Decoder API.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-25 21:11:55 +00:00
Michael Lotz
ac9d119566 Commiting patch by Salvatore Benedetto. This adds isochronous handling to the USB bus manager and enables inbound isochronous support in the UHCI driver. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-25 19:51:12 +00:00
Stephan Aßmus
0f5e6b41e7 * remove QuitRequested() implementation again, because the bug that MediaPlayer
didn't quit was really in BApplication (the fix there also fixes other apps
  not quitting, like Icon-O-Matic and probably others)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-24 11:45:50 +00:00
Stephan Aßmus
82d0e2c2b5 * do not ask hidden windows if they want to quit (not to be confused with
minimized windows, those need to be asked of course)
* added some comments about why this code is a little flawed but works anyways

NOTE: I really wonder wether traversing the window list in reverse is correct


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-24 11:43:48 +00:00
Ryan Leavengood
82fc8592fc Fixed bug #1281, which I logged. MediaPlayer was not behaving properly when being asked to quit.
The default BApplication::QuitRequested was not playing well with the other quitting logic in 
MediaPlayer (like in the windows.)

This simple "return true" QuitRequested seems to do the trick.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-24 04:58:42 +00:00
Marcus Overhagen
cbd5957241 disable the per frame debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-23 23:36:47 +00:00
Marcus Overhagen
935522a3ae better error handling
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-23 23:35:26 +00:00
Marcus Overhagen
be5f5c2d14 ck a dull boy All work and no play makes Jack a dull boy. All work and no play makes Jack a dull boy. All work and no play makes Jack a dull
boy. All work and no play makes Jack a dull boy. All work and no play makes Jack a dull boy. All work and no play makes Jack a dull boy. All work and no play makes Jack a 
dull boy. All work and no play makes Jack a


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-23 23:17:57 +00:00
Michael Lotz
16c1a4e653 Uncomment signature and flags of FileType add-on to fix bug #1280.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-23 21:48:34 +00:00
Ingo Weinhold
ff39fef2a4 * ceilf() both font ascent and descent individually before adding them up to
compute the vertical space requirement of the label.
* Use a better algorithm for vertically aligning the label. The menu bar (or
item) seems to use another algorithm. So, ATM the label is not necessarily
aligned with the menu bar text.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-22 21:52:53 +00:00
Jérôme Duval
20bda75303 exit with 1 when an error occurs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-22 16:23:51 +00:00
Axel Dörfler
ca13bd31a7 * The Deskbar tray icon menu "Check Mail" and the status window "Check Now" button
are now only enabled if there are any inbound accounts.
* BMailSettings::StatusWindowFrame() now returns some useful defaults.
* Minor cleanup.
* The MDR kit needs some serious overhaul before it can be part of R1.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-22 00:15:17 +00:00
Axel Dörfler
4976138306 * Korli renamed the driver, but forgot to let the driver ask for the new accelerant name.
* Added a TRACE_S3SAVAGE macro that turns on debug output - should be set conditionally
  if DEBUG is defined (see DriverInterface.h), but is currently always on, as requested
  by Gerald.
* Some minor style fixes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 23:38:53 +00:00
Axel Dörfler
b9c1e099e2 The Workspaces layer will now also be updated when the window hidden/shown is not on
the current workspace - this fixes bug #1191.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 22:42:39 +00:00
Axel Dörfler
66dae31027 * The AM/PM value wasn't correctly shown when it was 12 o'clock. This fixes bug #1184.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 22:38:16 +00:00
Stephan Aßmus
6af4da5dcb * added MediaConverter, the improved version by Jun Suzuki, to the source tree
* I completely rearranged the source and fixed a few bugs, one of which
  prevented me to use this tool to convert some XViD encoded AVIs that had
  sound to PJPEG encoding.
* it is currently agreed to have this in the source, but not on the image yet,
  the MediaKit doesn't support writing anyways as of now


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 22:19:02 +00:00
Stephan Aßmus
b69827d9b5 * fixed ScrollView framework to support data rects with negative left/top
coordinate correctly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 22:14:44 +00:00
Stefano Ceccherini
cf76d671df I *think* I've fixed the problem of menu fields not being opened when
the user clicks on the part which has been resized...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 20:47:19 +00:00
Stefano Ceccherini
80d75f15df Fixed problems with try/catch, hopefully. Thanks Axel for pointing them
out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 20:25:08 +00:00
Axel Dörfler
245aecda8a Got rid of vnode_id and mount_id, replaced with ino_t and dev_t.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 19:50:57 +00:00
Jérôme Duval
29cb39c4ff actually exit with an error when it happens
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 18:40:33 +00:00
Niels Sascha Reedijk
b653632762 Wrote as much documentation as I could understand. There are quite a few gaps left (search for TODO). I hope people (Ingo, Axel?) with more knowledge on this subject can check the written docs, make suggestions for improvement, and fill the gaps. After that, it needs a good revision to make the whole more consistent.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 16:29:43 +00:00
Axel Dörfler
0cb94db539 Ingo and I fixed a couple of VM bugs in a late night debugging session:
* vm_copy_on_write_area() now does no longer overwrite the ref_count, but keeps
  it's reference to the cache until it has unlocked it.
* It now also locks its reference from the start, preventing any other thread
  to interfere.
* vm_cache_remove_consumer() now detects if it has to remove a foreign busy
  page itself in order to preserve a mapped page.
* vm_soft_fault() now keeps a reference to the cache that owns the page to be
  mapped until it has actually mapped it.
* vm_unmap_pages() removed the mappings of all pages of the area instead of only
  those that are within the requested range.
* Kept (disabled) debug output for convenience.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 13:57:46 +00:00
Axel Dörfler
8491616029 Putting an unused block will now trigger a panic.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 12:35:39 +00:00
Axel Dörfler
4c7e2a45fa * Fixed a bug in CachedBlock::Unset() that would call block_cache_put() on the same
block everytime it's called - that caused negative reference counts in the block
  cache, causing all sorts of problems once they were flushed.
* Changed order of includes in system_dependencies.h to what I prefer: descending from
  private to public (resp. from most specific to most generic) headers.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 12:34:28 +00:00
Axel Dörfler
efd98f31b2 The "show shared volumes on Desktop" setting now defaults to true.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 12:29:48 +00:00
Axel Dörfler
210cbb4bd1 * Removed the old LICENSE files of the previous S3 Savage driver as suggested by
Gerald.
* Added Gerald Zajac and Jan Kloetzke to the list of contributors.
* Added the s3savage driver and accelerant to the image.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 10:14:11 +00:00
Travis Geiselbrecht
c9788912f0 re-enable kernel asserts.
Disabled by default, but all kernel devs are *highly* recommended to turn them on for your builds and see if it trips anything, and then fix it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 05:37:46 +00:00
Travis Geiselbrecht
554fdaa33a Fix a bug that was tripping an assert in the kernel module code.
When iterating through modules, the iterator was loading the module file, inserting it into the module image hash. Then, the first time get_module() was called on a module contained in the image, it was trying to load the image again. It probably actually was. Changed the logic to call get_module_image() which checks to see if it's already loaded.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 05:07:14 +00:00
Jérôme Duval
2d6d529814 Passed GENERAL_ERROR_BASE from LONG_MIN to INT_MIN (errors are uint32).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-20 21:58:02 +00:00
Jérôme Duval
bb36f69fd0 gPeriodicUpdatePoses is already declared extern in the header
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-20 21:40:43 +00:00
Jérôme Duval
61433d8459 missing comment token
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-20 21:32:51 +00:00
Jérôme Duval
5c937cfa82 missing comment tokens
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-20 21:30:00 +00:00
Jérôme Duval
77112c06de missing comment tokens
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-20 21:20:11 +00:00
Axel Dörfler
268403d4cc Fixed the build of the boot loader test application.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-20 01:09:00 +00:00
Axel Dörfler
ee76fc8f16 The SimpleTest rule is now using the Haiku glue code - so it should better be 100% compatible; turns out _init_c_library_() gets the arguments and environment as parameters (in case you wondered why __libc_argv and __libc_argc wouldn't work anymore for these apps all of a sudden).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-20 01:06:48 +00:00
Axel Dörfler
8ba7bc695a * Calms down a superfluous GCC 2 warning.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-20 00:51:20 +00:00
Ingo Weinhold
de83ade240 Added test for BMenuField.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-19 23:39:10 +00:00
Ingo Weinhold
b321303cf9 * Implemented Min/Max/PreferredSize().
* Reworked the internal layout. _ValidateLayoutData() computes and caches the
  layout related data and all other methods just use those values. Now, in
  layout-aware mode the class should properly work not only when using the
  layout items. And when using layout items, the class does actually do
  internal layout; it was basically good luck that it worked in the tests,
  before. Vertical resizing is supported, too. 
* We do a few mean tricks to get the probably mostly preferred layout behavior:
  By default our own explicit max width and that of the menu bar layout item is
  set to unlimited and the horizontal menu bar alignment to left aligned. This
  allows to horizontally resize a BMenuField beyond its preferred size,
  although both label and menu bar have a limited max width. The user can, of
  course, override those explicit sizes/alignments to get a different behavior,
  if desired.
* Fixed invalidation in SetDivider(). When having the focus, the left and top
  border of the blue frame were not invalidated.
* The label is no longer drawn at vertical position font ascent + descent
  + leading + 2 (not sure how this calculation was supposed to work), but
  vertically centers the label around the ascent. With big fonts the label is
  shown a bit too far to the bottom. Not sure how to fix this in a generic way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-19 23:38:00 +00:00
Ingo Weinhold
ec592aa9e5 Implement _BMCMenuBar_::MaxSize() to override BMenuBar::MaxSize() and limit
the maximum width. The latter supports unlimited maximum width. The
_BMCMenuBar_ draws fine when resized wider than its min/preferred width, but
not the complete "button" area will cause the menu to open when being pressed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-19 23:09:01 +00:00
Ingo Weinhold
23b9a91178 Also override MinSize() and PreferredSize().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-19 23:02:34 +00:00
Stephan Aßmus
45f929b494 * added BCommandPipe class (currently private API) kindly provided by
Ramshankar
* adopted to Haiku coding style


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-19 12:38:29 +00:00
Michael Lotz
687e327bac Reworked the handling of periodically updated poses (currently only ones with a volume space bar):
* Addad global list where poses that need periodic updates can be registered with a callback
* Use this mechanism for poses with a volume space bar
* Create only one BVolume when the BPose is created for a volume, instead of every time the free space is calculated
* On Pulse() the global list is used to update all of the registered periodic update poses
* As the poses know their volume, it is no longer necessary to use a BVolumeRoster to loop through each volume on each Pulse()
* Removed the now superfluous SendNotices() mechanism
* Removed corresponding watching / handling of these notices in BPoseView

The BPoseView did a linear search for each volume pose on each Pulse() before. What's more it did this once for each mounted volume as it did get one individual notice for each of them. To get these volumes a BVolumeRoster was used to loop through the volumes, but then the BPose did still create a new BVolume to actually calculate the free space! I'm surprised that it did not suck away more performance with this method...

Anyway, this should bring down BVolume construction and update overhead down to a minimum and hopefully fix ticket #1247.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-19 09:33:29 +00:00
Axel Dörfler
5de78b2cdb Added some temporary means to ease debugging block caches - at least the list
of all caches should be removed at a later point.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 23:58:15 +00:00
Ingo Weinhold
5680c33e48 Style changes by Vasilis Kaoutsis.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 17:35:48 +00:00