Commit Graph

23194 Commits

Author SHA1 Message Date
François Revol
9e2e307479 Use 2048 as block size.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-12 12:19:19 +00:00
Axel Dörfler
7bcc567db0 Removed "hda" as long as I'm working on it - it doesn't yet work, anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-12 10:18:25 +00:00
Marcus Overhagen
eb5b2f6fde Removed a lot of unsave memory handling.
Check for memory allocation errors.
Added limit to maximum flavor format count (300).
No longer crashes when out_format_count is invalid for B_BUFFER_CONSUMER,
or in_format_count is invalid for B_BUFFER_PRODUCER.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 23:24:40 +00:00
François Revol
e0b47058e2 Missing include... at least for gcc4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 21:53:40 +00:00
Ingo Weinhold
74d93b3526 With syscall kernel tracing enabled, the syscall return value (%eax,
%edx) was trashed before passing it to the user debugger. strace shows
the correct return values again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 21:29:44 +00:00
Ingo Weinhold
7cee6a817b We only support real time timers. Pretending to support virtual timers
only gets the caller into trouble, since then another signal should be
sent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 21:27:00 +00:00
Maurice Kalinowski
f0c88a50ba * The flavor info needs to initialize the output format count to 0 too, as otherwise the addon server tries to allocate to much memory.
* Use a member variable for the input media_format
Thx to Ingo for pointing this out



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 21:00:27 +00:00
Stephan Aßmus
97d6a0515e GetClippingRegion() was implemented wrongly on the app_server side. It needs
to take the current effective drawing region of the view, but converted to
local coordinate space. Untested as of yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 17:38:26 +00:00
Axel Dörfler
17959555c2 * Separated widget parsing and debug output a bit better.
* More generic supported parameter support, respect the
  AUDIO_CAP_AMPLIFIER_OVERRIDE, and AUDIO_CAP_FORMAT_OVERRIDE bits.
* More cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 17:19:55 +00:00
Ingo Weinhold
4eb3560949 * Added real, effective and saved set- user and group IDs to the team
structure. They are properly inherited and updated on
  fork(), load_image(), and exec().
* Implemented the get[e]{u,g}id(), set[[r]e]{u,g}id() family for real.
* getgroups() also calls the kernel now, but only returns the effective
  group ID. Supplementary groups support is still missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 17:12:02 +00:00
Ingo Weinhold
1149e982f0 Left over debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 17:00:55 +00:00
Axel Dörfler
313492b63f * Moved connection retrieval code into its own function.
* Extended it to support long format as well.
* Extended it to support ranges of widgets (I didn't find those in the standard,
  but the FreeBSD and Linux drivers implement them, and my laptop even makes
  use of them, too).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 15:51:48 +00:00
Ingo Weinhold
4b7baaba0f Added optional kernel tracing for the userland memory allocator.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 01:35:30 +00:00
Axel Dörfler
4b83262008 * _Realloc() did not initialize the reference count either.
* _Alloc() can now preserve the original reference count, only _Clone()
  still initializes it to 1. As Karsten pointed out, this is necessary to
  preserve the "shareable" status of the private data.
* I hope that's finally it. What happened to our testing suite, anyway? :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 22:56:27 +00:00
Stephan Aßmus
ffac272e35 Used the new mechanism/options in the DrawingEngine with regard to
back to front copies in Window for updates. When in an update session,
any back to front copies are turned off. When the update session ends,
the whole region is copied at once. This has two effects: For once, it
avoids a lot of unnecessary copies (for example, rendering text copied
the background and then the same area for the text again). But even more
effective, it changes the entire drawing of any Haiku app to be completely
flicker free. Provided it happens in the normal Invalidate()/Draw() cycle.
And of course all this only works for double buffering mode, ie VESA.
Potentially, I might have overlooked something, so that this patch could
result in some drawing glitches, but in my testing, I have seen none yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 22:30:07 +00:00
Stephan Aßmus
18212e76cc * Made it possible to supress automatic back to front buffer copying of the
rectangle area that is touched by a drawing command.
* Added a CopyToFront(BRegion) method which copies a complete region from
  the drawing/back buffer to the front buffer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 22:24:00 +00:00
Stephan Aßmus
b7458c6b96 RenderingBuffer::Bounds() returns an IntRect, saves a conversion.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 22:22:11 +00:00
Ingo Weinhold
5bced18eab ALM/linprog patch by Christof Lutteroth:
* Got rid of class ObjFunctionSummand. Both the constraint summands and
  the objective function summands are now stored using class Summand.
* Some method names are more BeOS compliant now: SetX instead of ChangeX.
* linprog test code now uses new AddConstraint methods.
* CalculateMinSize and CalculateMaxSize did not free the memory they
  allocated.
* Removed inappropriate setter and getter methods.
* Memory allocated in class Constraint is freed now.
* Other small changes.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 21:43:32 +00:00
Ingo Weinhold
0bc0282224 * Renamed UserBuildConfig.sample to UserBuildConfig.ReadMe and
uncommented the meaty lines again. Added one or two more explaining
  sentences.
* Created a concise UserBuildConfig.sample with very few comments and
  only the most interesting (commented out) example lines for those
  people who don't read the UserBuildConfig.ReadMe.

I hope everyone can live with this solution.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 20:54:00 +00:00
Maurice Kalinowski
922a7ffc16 * added video_window demo to the image
* reordered addons alphabetically like we do for all plugins



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 20:38:54 +00:00
Axel Dörfler
bf4ddb61e1 * As found by Karsten, the reference count was not initialized in
_ReplaceAtPositions(), and _DoCharacterEscape() (we don't need to preserve
  it, though, as it must be 1).
* Factored out an _Alloc() method which is now always called when the private
  data is allocated. It also takes care of correct initialization (and thus
  fixes the above problem).
* This fix finally allows turning on reference counting again, thanks Karsten!
* Minor cleanup, renamed "oldAdr"/"newAdr" to "oldString", resp. "newString".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 19:14:05 +00:00
Axel Dörfler
7c58a46830 The result of some more proof-reading caused by Stephan's comments:
* _Realloc(), and _Detach[With]() may fail, but that wasn't accounted for
  everywhere.
* The Append(), Prepend(), and Insert() char versions all caused their
  backends to access invalid data (must use strncpy() instead of memcpy()
  here). 
* All Append(), Prepend(), and Insert() BString variants used an invalid
  check, and would therefore just do nothing in certain situations like this
  one:
    BString a = "-";
    BString b = a;
    a.Append(b);


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 16:41:43 +00:00
Stephan Aßmus
8a1c136e47 Use the front buffer for screenshots always, otherwise we don't get the contents
of BDirectWindows for setups where the app_server uses double buffering mode.
I didn't test the change, but the way the cursor is optionally copied into
the bitmap (which might now be not 32 bpp) looks very flexible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 15:32:01 +00:00
Axel Dörfler
688c14266c * After my last change, _IsShareable() was called on the wrong string in the
copy constructors, effectively turning of references completely.
* Since that caused troubles (NetPositive now crashes when started), I
  temporarily disabled references by letting _IsShareable() always return
  false until the issue is resolved.
* _FreePrivateData() now sets the fPrivateData member to NULL, and is also
  safe to be called when fPrivateData is NULL.
* Removed my comment about the threading problem in _Detach() and _DetachWith()
  as that just couldn't happen.
* _Clone() must not use memcpy() as the string pointed to by "data" might not
  be as long as "length".
* LockBuffer() now marks a string as unshareable.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 14:14:44 +00:00
Stephan Aßmus
417889ced8 * Handle clearing to white on the client. This also makes sure that bitmaps are
cleared which have no app_server link (B_BITMAP_NO_SERVER_LINK).
* Check the allocation of the BWindow in BBitmap for view accepting bitmaps.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 10:51:56 +00:00
Ingo Weinhold
9de993d155 Enable process group synchronization via a pipe. Not sure what
advantages that is supposed to yield, but at least under Linux that
option is enabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 23:42:21 +00:00
François Revol
c6adfece3c Added HVIF and SVG icon for root folder, should look better :)
Added a custom volume id just in case (might be useful for queries to work between mounts).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 23:26:38 +00:00
Axel Dörfler
6c1198ff2d Disable user add-ons only if specifically set in the safemode settings,
thanks François!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 22:21:21 +00:00
François Revol
b7ebc38189 Some updates on trademarks, my IM contacts, and I'm not employed by yT anymore :))
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 21:54:27 +00:00
François Revol
5df16a2920 Fix building for BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 21:40:54 +00:00
Niels Sascha Reedijk
0f3d1b86b0 Correct some mistakes pointed out by Stephan
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 20:39:57 +00:00
François Revol
d85edf56df Check if /bin/stat supports the gnuish -c option, else fallback to BSD syntax.
This should fix ticket #1676, please try.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 19:42:20 +00:00
Ingo Weinhold
f542307a98 We didn't copy the close-on-exec flags on fork(), thus always leaving
all FDs in a fork()+exec()ed child open. Makes Perl test
t/run/cloexec.t pass.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 18:00:17 +00:00
Ingo Weinhold
4a7f236b07 Process groups are now reference-counted. Processes in a group as well
as the death entries of a deceased processes that were in this group
and have not yet been reaped hold references to the group, so that it
won't be deleted until the group is empty and all gone group members
have been reaped. This fixes #1799 at last.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:56:27 +00:00
Ingo Weinhold
32da50fafb Allow setting the local to "C" (i.e. not changing it at all). This makes
programs happy, that do that unconditionally (e.g. some Perl test).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:47:52 +00:00
Ingo Weinhold
6e4432bc6f Add a tracing entry when executing a signal handler.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:45:52 +00:00
Ingo Weinhold
c1de3c34b3 Added deferred_free() function, that can be used to free allocations
in code that has interrupts disabled. The chunks of memories are queued
and free()d periodically by a kernel daemon.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:44:55 +00:00
Ingo Weinhold
45eb999ec8 Added "query" and "chmod" (octal, non-recursive only) commands.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:41:42 +00:00
Ingo Weinhold
0006905bfb Added "--ignore-attributes" switch to the "cp" command.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:40:04 +00:00
Ingo Weinhold
2586d10ea9 CreateFile() didn't specify the B_ERASE_FILE, hence the file wouldn't be
truncated, if already existing. This problem could be experienced when
saving in Pe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:38:55 +00:00
Ingo Weinhold
24326abfa3 Bail out early, when initializing or mounting an image via bfs_shell
fails.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:34:26 +00:00
Axel Dörfler
e2f576d9c2 Followed Andreas' suggestion, and enlarged timeout to 12 seconds.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:01:39 +00:00
Axel Dörfler
3c0020ae42 * Accept case insensitive boolean values.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 15:26:29 +00:00
Axel Dörfler
cfb3cc4648 * Now checks and honours the "disable user add-ons" safemode setting.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 15:25:39 +00:00
Axel Dörfler
a0b6e513b1 Added a program that tests how getpeername() behaves.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 15:23:58 +00:00
Axel Dörfler
3f89bce410 * The module code now uses find_directory() and no hard-coded paths anymore.
* It now also supports the common directory path.
* search_module() checked the module paths in the wrong order, ie. it preferred
  modules in the system directory over the user directory.
* Clarified comment in vfs_get_module_path().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 14:21:04 +00:00
Axel Dörfler
fa28330bbf * Explained under which circumstances vnode_path_to_vnode() will clobber the
buffer of the provided "path" argument.
* Applied patch by Vasilis to fix some warnings when build on Linux (missing
  const on certain functions). We should probably fix the original
  {add|remove}_debugger_command() functions in Haiku as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24322 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 13:43:38 +00:00
Michael Lotz
a433b9febf Rewrite and activate message passing by area. Passing by area works now with
the new sematic of transfer_area so a message area is transfered into the right
teams' address space and it does not need to be cloned there anymore. Passing
by area is only used for messages bigger than a certain size (currently
hardcoded to 40KB) which should be somehow bound to the max port message size.
This makes passing large messages (i.e. > the port limit) possible, so for
example copy&paste of long text, image data, etc. should now work.
Got rid of the fClonedArea member as it is not necessary with the new design,
renamed shared_area to message_area in the private message_header, avoid
an unnecessary allocation of the header for the copy constructors, check
allocations in a few more places and some minor cleanup.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 13:35:41 +00:00
Michael Lotz
d1189f0b05 Naive implementation of transfer_area(). It follows the suggested sematics
of the resolved ToDo, but could probably be made more efficient. Instead of
transfering the area, the area is cloned into the target teams' address space
and the original is deleted. This generates a new area_id for the transfered
area (as suggested by the ToDo). Updated syscall prototypes according to the
status_t to area_id return type change.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 12:56:59 +00:00
François Revol
e53032e55d Fix warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 02:38:09 +00:00