Commit Graph

20389 Commits

Author SHA1 Message Date
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
Stefano Ceccherini
ffcd67bc82 moved duplicate code to a common location.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 14:30:56 +00:00
Stefano Ceccherini
7f0898e76f bye bye ClientFontList.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 13:45:33 +00:00
Stefano Ceccherini
ac2284ed8b Moved ZombieReplicantView.h to src/kits/interface
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 13:38:14 +00:00
Stefano Ceccherini
7c42f05d49 moved kZombieColor to ZombieReplicantView.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 13:37:42 +00:00
Stefano Ceccherini
fab61b6237 Moved TextInput.h to src/kits/interface as it's only used there.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 13:31:46 +00:00
Stefano Ceccherini
a24a5156f9 splitted SetActiveState() into 2 methods, since it was very messy
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 13:15:58 +00:00
Axel Dörfler
c9c97da195 Print only the tool name instead of the full path.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 12:49:37 +00:00
Stefano Ceccherini
99851ad6db free() the modelist as it's allocated using malloc. A forgotten printf -> fprintf. minor other stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 12:44:58 +00:00
Stefano Ceccherini
d53469036b CanControlFrameBuffer() returns false with the vmware driver, but
ParticlesII doesn't need to do special things with it


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21451 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 12:36:30 +00:00
Stefano Ceccherini
6a45488dd9 Used exceptions to handle errors on InitData(). I hope I didn't made
stupid errors, since I don't use exceptions usually. Feel free to beat 
me on this. Moved uninitialization to _DisposeData(). Corrected some 
styling issues pointed out by axel. Used fprintf instead of printf.
Turned off debugging.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 09:53:36 +00:00
Stephan Aßmus
13526fae69 * compile fix provided by Michael Berg
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 08:39:37 +00:00
Stephan Aßmus
2cb637f4b9 * compile fix provided by Michael Berg
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21448 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 08:38:01 +00:00
Stephan Aßmus
033bb29d51 * compile fix provided by Michael Berg
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 08:35:50 +00:00
Stephan Aßmus
8ec143c887 * compile fix provided by Michael Berg
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 08:34:20 +00:00
Stephan Aßmus
dba332c353 * compile fix provided by Michael Berg
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 08:32:11 +00:00
Marcus Overhagen
84371c1446 revert the part of the previous checkin that completely broke video seeking (however, the current state is hardly working at all)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 21:02:50 +00:00
Marcus Overhagen
beb89275f5 Synchronize even at begin of the file, some avi files contain garbage at the beginning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 20:14:00 +00:00
Marcus Overhagen
56853d6ff1 Use separate waiting semaphores for audio and video, later to be used for seeking
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21442 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 20:12:21 +00:00
Marcus Overhagen
d85ccec96a This fixes most audio seeking problems with AVI files, but
still needs some work. The sync code was never executed, as
if (len < chunkSize) (len = signed, chunkSize = unsigned) 
was compiled into an unsigned compare and thus always false
for len=-1.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 19:38:59 +00:00
Jérôme Duval
f5390ac494 added atomic*64() for BeOS build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 17:04:29 +00:00
Marcus Overhagen
2087d23365 always sync to frame begin after a seek
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 15:54:08 +00:00
Ingo Weinhold
f18b0dff8b * Use named parameters.
* Use Object{Cc,C++}Flags instead of setting {CC,C++}FLAGS on the
  objects directly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 15:14:46 +00:00
Ingo Weinhold
baade5580e Typo. Fixes menus (bug #1276).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 13:24:42 +00:00
Jérôme Duval
308771ff5d reverted to use __x86_64__ as it seems BeOSHostCompatibility header is not included for fs_shell
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21436 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 13:17:03 +00:00
Marcus Overhagen
6c1def1920 truncate chunks first and then check for zero size
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21435 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 12:55:46 +00:00
Marcus Overhagen
f4eb963104 Added an additional check before calculating maxsize to avoid overflows.
Ignore empty 'strn' chunks instead of treating them as an error. This
also fixes loading of the "The party at the end of the earth.divx" file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 12:44:33 +00:00