Commit Graph

23222 Commits

Author SHA1 Message Date
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
Oliver Ruiz Dorantes
a8006c78f0 Add DiscoveryAgent skeleton
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 00:39:32 +00:00
Oliver Ruiz Dorantes
009fac9906 Code & text output cleaning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24317 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 00:04:16 +00:00
Axel Dörfler
d1893d6468 * Driver probe code now uses find_directory() to get the directories to
look for drivers (also added common directory).
* Now also honours the B_SAFEMODE_DISABLE_USER_ADD_ONS setting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24316 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 23:14:06 +00:00
Axel Dörfler
637eef896b * Added a get_safemode_boolean() function for easy access to the safemode
options.
* module_init() now sets sDisableUserAddOns to whatever the safemode settings
  say, ie. the B_SAFEMODE_DISABLE_USER_ADD_ONS setting is now respected by
  the module code.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24315 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 23:12:46 +00:00
Axel Dörfler
a1dac092fa Followed suggestion by Stephan.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 20:49:30 +00:00
Jonas Sundström
7bed483ae2 Show popup menu also when right-clicking the load meter. It was a blind spot. Added the virtual keyword to the other two load meter view hooks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24313 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 20:06:50 +00:00
Axel Dörfler
002b33b720 * Fixed a bunch or concurreny bugs and memory leaks of the new reference
string stuff.
* It's still not thread-safe for all usage patterns, though, so we might want
  to remove or disable it: if a string is shared between several threads, and
  one of those starts to use a reference, all kinds of problems can happen.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 19:05:09 +00:00
François Revol
76ec752f89 On request implemented setting media type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 18:16:49 +00:00
Axel Dörfler
e29faac6cd * return_address() did not take the original sockaddr length into account;
it always copied the whole new address, no matter how large the original
  buffer was. That fixes bug #1898.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 17:51:23 +00:00
Axel Dörfler
5286000296 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 17:44:39 +00:00
Stephan Aßmus
582b3d5a72 * When allocating a new Window, check the allocation of the DrawingEngine
instance by introducing Window::InitCheck(), use new (nothrow).
* Window is responsible for the DrawingEngine instance, but forgot to delete
  it.
* OffscreenWindow is no longer special, every Window owns a DrawingEngine,
  no need to delete it anymore, but since it already deletes the HWInterface
  instance, it needs to detach the DrawingEngine from it.
* Use new (nothrow) in OffscreenWindow as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 17:41:24 +00:00
Stephan Aßmus
f875a78340 RenderingBuffer returns IntRect in Bounds() now. Should have been
part of an earlier commit...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 17:36:15 +00:00
Axel Dörfler
c7a77521ff Renamed all *LAYER* constants to *VIEW*.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 16:44:18 +00:00
Axel Dörfler
437b19277f * Removed severly outdated DebugInfoManager.
* More "layer" cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 15:28:31 +00:00
Niels Sascha Reedijk
da3abc7c16 Handler.dox:
- Small link fix
- Clean up the titles of the subsections a bit: these are reused in the looper documentation and they sort of clashed before.

Also, new documentation for Looper.dox!

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 15:11:39 +00:00
Axel Dörfler
953d895e02 * Got rid of the "Layer" part of WindowLayer, ViewLayer, WorkspacesLayer
(now WorkspacesView), OffscreenWindowLayer.
* Renamed ServerScreen.cpp/h to Screen.cpp/h (the class was already called
  Screen).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24303 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 12:45:54 +00:00
Axel Dörfler
b0121f5117 AccelerantHWInterface::_DrawCursor() did not override its parent method, but
hide it (because of different argument types, BRect vs. IntRect).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 12:26:59 +00:00
Andrew Bachmann
b0f0bffa32 missing this symbol caused a library to not load. implementation taken from old/compat/libnet/netconfig.c, after removing printf.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 12:14:13 +00:00
Axel Dörfler
2c184b20ed * The Desktop is now maintaining a list of workspaces views, and supports
more than one of them at the time.
* Changed ViewLayer::FindView() to FindViews() that collects all views
  with the given flag set, not just the first one.
* Made ViewLayer::AttachedToWindow() and DetachFromWindow() virtual,
  WorkspacesLayer now overloads them to register itself with the window and
  the desktop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24300 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 11:42:20 +00:00
Axel Dörfler
e0d6d2fe80 Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 11:36:10 +00:00
Stephan Aßmus
b92508756d * Removed explicit timezone and keymap settings file generation. The system
works fine without those, the keymap file will be generated.
* Supplied the removed lines as example in UserBuildConfig.sample for how
  to supply these settings during image generation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24298 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 10:12:15 +00:00
Rene Gollent
766c46166c Team debug effort with Michael Lotz:
Tracked down the root cause of the issue worked around in r24228.
The behavior that was occurring in this case was as follows:
Vision created a BInvoker off the heap, containing a BMessage likewise
off the heap. It then called BAlert::Go with this invoker. When any of
the buttons in the BAlert were pushed, _SendMessage would enqueue the
message into the target looper (in this case, Vision's window) and wake
it up with write_port_etc. However, in some cases this would result in
a reschedule such that Vision's looper executed before _SendMessage() was
able to complete all its processing. Upon receiving this message, Vision
destroyed the BInvoker in question, which in turn deleted its owned
BMessage -- which was the message that was still in the middle of _SendMessage()!.
Consequently it would crash a few lines later when it hit IsSourceWaiting() and
tried to check flags off its header off the already destroyed this. To fix this,
we now do the AddMessage/write_port_etc last before returning. Also removed the
sanity checks added in r24228 so we don't mask other problems of similar nature.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24297 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 00:18:51 +00:00