Commit Graph

3553 Commits

Author SHA1 Message Date
Stephan Aßmus
854ac70a95 * When unregistering plugins, decoders specifically,
we need to remove its globally registered formats
   from the FormatManager.
 * When searching decoders for a given format, we need
   to search by add-on directory, since the decoder
   list will not stay sorted once some have been removed
   or added after the initial add-on scan.

These fixes make it finally possible to rebuild media
plugins and have the media_server pick up the changes
without needing a restart.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-24 17:46:11 +00:00
Stephan Aßmus
424faefd92 Added RemoveFormat(), the FormatManager was previously
missing any way to remove previously registered formats.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-24 17:43:13 +00:00
Stephan Aßmus
f242acd5a0 Fixed a race condition in MultiLocker, when compiled in DEBUG mode:
The fWriterThread and fWriterStackBase were reset in WriteUnlock()
without holding any lock. While running a DEBUG compile of app_server,
I ran repeatedly into an assertion in the mouse event thread, that
it was not the write lock holder anymore when calling WriteUnlock().
My theory (also discussed with Axel, thanks!) is as this: Some random
thread holds the write-lock. The mouse event thread is allowed to run
when that thread releases the write-lock, but the thread is rescheduled
before it resets the write-lock-holder values (B_DO_NOT_RESCHEDULE only
means rescheduling is not forced, but it may happen anyway). Then the
mouse thread runs, acquires the write-lock, sometime later the original
thread continues to run, and completes WriteUnlock() with resetting the
holder values. When the mouse thread continues to run and eventually
calls WriteUnlock(), the holder values do not match anymore. The theory
is further confirmed by the fact, that fWriterThread was always -1 in the
assert and not some random other thread.

As mentioned, only affected DEBUG builds of app_server, in release builds,
another lock protects the holder values.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-24 13:46:48 +00:00
Stephan Aßmus
45b9ce0cd3 * It's easier if we deal with just entry_refs instead of converting
to BEntry and back to entry_ref. This ommits a check to
   BEntry::InitCheck(), but AddOnMonitor should pass us only valid
   entry_refs.
 * Removed no longer valid TODO.

TODO: There is still some problem with reloading add-ons, once they have
been reloaded, they fail to instantiate properly, as if the entry_ref
is pointing to the wrong node.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-24 09:46:55 +00:00
Stephan Aßmus
8e7b93278e * Turn a lot of printf()s into TRACE()s.
* Converted apparently non-fatal error output into TRACE output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-24 09:44:10 +00:00
Stephan Aßmus
19cd5c15d2 The media_server supports updates to add-ons now.
It unloads any media_format mappings when an add-on
becomes unavailable, and consequently reloads the
supported formats and similar when the same add-on
becomes available again. Previously it would only
load previously unkown add-ons by node-monitor
events (unkown name). What also works is that user
add-ons shadow/hide system add-ons when installed,
and the system add-on will become effective immediately
when removing the user add-on again. One thing to
note is that certain IDs will not stay consistent.
I am not aware of an application for which it could
be a problem, most should rememeber codecs by name.
In any case, I only tested add-on events a lot, and
not so much the effects of unstable media_file_format
IDs, so it's possible there are regressions, though
only when installing new versions of add-ons, which
previously mostly required a media_server restart
anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-19 19:59:37 +00:00
Oliver Tappe
269ebc04b9 Fix #6373, second try
* make BDADDR_* macros refer to value types instead of addresses
* adjust all interfaces using bdaddr_t* to use (mostly const) refs instead,
  which IMHO makes the interface & code clearer
* that got rid of a couple of const incorrectness casts
* some cleanup along the way


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-19 15:29:02 +00:00
Stephan Aßmus
ab45ec86ab More helpful debugger message.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38239 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-18 15:45:24 +00:00
Stephan Aßmus
52ede95cd7 * Removed outdated USE_MULTI_LOCKER build option
* Don't acquire the read-lock in WindowForClientLooperPort,
   since MultiLocker does not support nested read-locks.
   Use an assert instead, however the method does not appear
   to be used anywhere at the moment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-18 10:10:27 +00:00
Clemens Zeidler
bba6f48d64 Add Notify* prefix to DesktopObservable hooks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-17 23:44:30 +00:00
Clemens Zeidler
ee9246d5f5 Remove unused communication port, pointed out by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-17 23:23:02 +00:00
Clemens Zeidler
26d8064ea8 Lock WindowForClientLooperPort method and add comment that the window lock has to be held if accessing the a WindowList.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38215 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-17 22:56:19 +00:00
Clemens Zeidler
c0494bc592 Add facility to communicate with the desktop listener over an app server link. The ServerWindow dispatch the message to the DesktopObservable which dispatch it to the correct listener.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-17 06:25:55 +00:00
Clemens Zeidler
b8a44a250e Add function to find a window in the app server by the client looper port id. Need this for the stacking api e.g. to stack window x on window y.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-17 06:23:06 +00:00
Rene Gollent
6e23be561a Fix build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38161 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-16 20:58:35 +00:00
Stephan Aßmus
119e788a15 Corrected outdated comment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-16 19:34:15 +00:00
Stephan Aßmus
b6865b963b Rewrote the fake font overlay support, as the previous implementation
had several problems: First of all it duplicated the FontCacheEntry
retrieval and locking code. Second it was really slow to do the whole
lookup for every single glyph. Third is used the FontManager without
locking, which could result to app_server crashes, mostly at startup,
while the FontManager thread was scanning the fonts and the glyph
layout was already using it. Forth it dereferenced a FontStyle
pointer without checking it against NULL. And lastly it didn't use
the font size of the original font for the fallback font.

The new algorithm addresses not only these, but also puts the glyphs
which are unsupported by a font and retrieved from the alternative
font, into the FontCacheEntry of the original font, so that the
HasGlyphs() check succeeds the next time around and does not need to
use the fallback algorithm anymore. There is also less manual management
of locking and FontCacheEntry recycling, this is now taking care of by
FontCacheReference objects on the stack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-16 19:24:20 +00:00
Stephan Aßmus
e404b4ed2a * The Glyph() method takes an optional FontCacheEntry* parameter
which can do an alternative lookup of the glyphCode to glyphIndex
  and who's FontEngine is used to retrieve the GlyphCache object.
  The glyph however is inserted into the Cache of the original entry.
* GlyphCache objects are no longer looked up by index, but by charCode,
  which should not be a functional change, but allows to lookup glyphs
  from the cache for which the underlying FontEngine does not have
  a code to index mapping.
* Fixed an operator precedence bug in the signature generation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-16 19:17:11 +00:00
Adrien Destugues
fbebcdd42d CID 1743 : Memory leak on error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-16 08:14:34 +00:00
Adrien Destugues
8e13f13e5c CID 1744 : memory leak on error
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38131 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-16 08:11:47 +00:00
Stefano Ceccherini
48a05691c4 directory was leaked. CID 1745
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-15 09:59:20 +00:00
Adrien Destugues
78e421e05e Turns out this was right after all. Thanks to Rene for the explanations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-13 14:08:15 +00:00
Adrien Destugues
d84da869d5 CID 1556 : wrong cast type.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-13 13:18:36 +00:00
Clemens Zeidler
c84e125085 Rework listener interface as suggested by Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-12 23:05:31 +00:00
Clemens Zeidler
5483fa4e78 - Make RebuildAndRedrawAfterWindowChange public. This is useful when changing the window footprint from the outside. In this case RebuildAndRedrawAfterWindowChange recalculate the clipping and everything. Need this when I switch a decorator into a SAT stacking mode which is not a standard desktop operation. In this case the tab size is adjusted and also the window clipping need to be recalculated.
- First unregister listener reload decorators and then register new listener.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-12 22:09:28 +00:00
Clemens Zeidler
f182b4e2f9 Make _GetButtonSizeAndOffset protected.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38069 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-12 21:58:21 +00:00
Clemens Zeidler
d25313d44f Add listener for the tab location.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38067 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-12 21:19:49 +00:00
Axel Dörfler
d45bbb649e * Implemented that pressing the window modifier plus double click will minimize
the window. This closes ticket #6429.
* Got rid of useless _Extract*() methods. Also removed the _ActionFor() variant
  that only took a message.
* Removed unused "invalidate" variable in MouseUp().
* Coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-10 10:00:16 +00:00
Axel Dörfler
3a5082aa46 * Got rid of the home brewn double click detection - we're now simply using the
"clicks" field of the mouse message as everywhere else.
* Renamed Decorator::Clicked() to MouseAction().
* Minor style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-10 09:14:46 +00:00
Michael Pfeiffer
032a8371aa As per Stephans request re-added comment that I
removed in r37939.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-06 18:24:48 +00:00
Michael Pfeiffer
ab7c7773b2 * With blessing from Stefano applied my alternative patch
from ticket #6415: the drawing offset of a BPicture
  becomes the new drawing origin.
* This should also close ticket #6008.
* Also the Preview printer does the clipping now correctly
  outside the "printable rectangle".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-06 12:21:34 +00:00
Clemens Zeidler
a52ec87162 Group header by type. Thanks Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-05 19:21:37 +00:00
Axel Dörfler
691749c0a3 * Changed mouse down behavior for all mouse modes while dragging a window: now
a second click on the right mouse button will raise the window again.
* Desktop::SendWindowBehind() now locks a bit earlier, as some of the things
  it did shouln't really be done without holding a lock (depending from where
  it was called).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-05 11:06:10 +00:00
Clemens Zeidler
d6734c083a - Notify listener when they are registered and unregistered.
- First reload decorators and then the listeners. (my SAT listener caches the decorator when it is registered so the new one should already be loaded)
- Make the Desktop all window list accessible, help full when a listener is registered and want to iterate over the existing windows.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-04 22:09:57 +00:00
Clemens Zeidler
670cf167f0 Make the DefaultDecorator more convenience to sub class.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-04 22:01:43 +00:00
Clemens Zeidler
2be8427e01 Remove debugger call. This assert is to early because the desktop is locked later in the LockedDesktopSettings sub class. Fix bug #6392.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-04 21:40:43 +00:00
Axel Dörfler
f91f6b6285 * Implemented changing the "click to focus" mode as suggested in ticket #6419.
* It feels much better, but maybe raising the window should only happen on the
  second click instead?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-04 08:11:32 +00:00
Axel Dörfler
2248e30f11 * Fixed broken accept-first-click eating logic I introduced yesterday, sorry!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-04 08:10:07 +00:00
Clemens Zeidler
a92ef26cd7 Fix coding style.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 20:32:37 +00:00
Axel Dörfler
0e505c0c7b * Separate the B_WILL_ACCEPT_FIRST_CLICK window flag from the accept-first-click
desktop setting, following bug #6420.
* Now, only windows with the flag set have to implement their activate behaviour
  itself (as Tracker does), the desktop setting no longer has an influence on
  this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 19:39:50 +00:00
Clemens Zeidler
b6ba2290fc Introduce a new DecorAddOn class which provide the DecorManager with the needed Decorator, WindowBehaviour and DesktopListener.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 04:36:21 +00:00
Clemens Zeidler
bd06a41c3a Cleanup of the some header includes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 04:30:07 +00:00
Clemens Zeidler
f629aeb0df Remove unsused BLocker inheritance.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37855 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-03 01:03:50 +00:00
Stefano Ceccherini
bb69cd6548 Basically revert r37824 (minus restoring the origin), since it causes other
problems (#6415 for example).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37833 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-08-02 08:04:33 +00:00
Stefano Ceccherini
568bdbf719 Convert the BPoint to screen coordinates respecting the scale
(using ConvertToScreenForDrawing()) before drawing a BPicture, both directly
and inside another BPicture. Restore the drawing origin when drawing a nested
BPicture (like we already do when drawing it directly).
Fixes #6008.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-30 20:46:29 +00:00
Clemens Zeidler
0265102f8b -Make Windows private again and lock the iteration over the windows when reloading the decorators.
- Make the used decorator persistent.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-30 01:19:20 +00:00
Clemens Zeidler
bb86786a1b - Make _Windows public.
- Reload all decorators when the decorator has changed in the DecorManager.
- Update copyrights.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-29 05:12:45 +00:00
Clemens Zeidler
860dfc9a77 - Introduce a DesktopListener interface to the Desktop class (needed for SAT).
- Add a minimize method to desktop.
- Make _CurrentWindows public.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-29 02:10:29 +00:00
Axel Dörfler
61729d9323 * Reworked the complete stack to allow more than one address per network
interface - this caused quite a number of changes.
* Network interfaces, and its addresses are now reference counted (not yet
  complete, though, InterfaceAddresses need to hold references to their
  interface as well).
* There are two known regressions of this commit that I will fix later:
  - you cannot remove interfaces anymore
  - IPv4 multicast was broken anyway, but now it's disabled, too.
* Moved a device_interfaces.cpp|h out of interfaces.cpp.
* The datalink layer chain is now instantiated per domain per interface,
  not just per interface anymore.
* When a buffer reaches the network layer, it has no known interface yet, ie.
  the ipv4|6|whatever modules need to set this manually.
* Added more debug output, and some new debugger commands, the control option
  is now printed in clear text.
* Added hash_address() function to the address modules. Added "const" to
  set_to_defaults() where needed.
* Fixed net_buffer's restore header functions offset use as reported by Atis.
* Improved buffer dump output, use the domain module to print the address if
  available.
* Moved net_buffer::type into the union, as it's not needed by the upper layers
  anymore.
* Moved IPv6 specific code from {add|remove}_default_route() to where it
  belongs, but disabled it for the time being.
* Completely discarded useless ipv4_datagram module.
* Added ping6 to the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-28 17:38:23 +00:00
Oliver Tappe
8eff03f570 * fixed all build warnings by collectcatkeys that I found
* automatic whitespace cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37747 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-25 22:58:29 +00:00
Axel Dörfler
6600877a5f * On Haiku, ifreq::ifr_name always includes the trailing null byte. Adjusted
userland code to take this into account (the kernel would just cut off the
  name).
* This closes ticket #6280.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-22 12:35:44 +00:00
Oliver Tappe
0ea1aab28a * fixed a couple of regressions of r37670 concerning optional build targets
(bluetooth, ac3_decoder, netfs)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37672 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 23:10:57 +00:00
Oliver Tappe
eddec292d5 * applied patch by kaliber that fixes more than 100 warnings - thanks a lot!
Closes #6349

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-21 21:43:20 +00:00
Adrien Destugues
5421c7d682 * Fix all localized applications, as an include was missing in some of them
* dstcheck : the generated catalog is now 'dstcheck.catkeys' instead of 'en.catkeys', so that it does not conflict with 
other localized apps in the bin/ folder.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-20 13:11:13 +00:00
Clemens Zeidler
962281e833 Invalidate the footprint at the right time to fix the calculation of the dirty border region.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-20 04:33:24 +00:00
Clemens Zeidler
604ae84e46 Set look and flags at the correct position.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-20 01:46:58 +00:00
Clemens Zeidler
30c31ae28a Always use the current decorator. This partially fix bug #6334.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-20 00:58:11 +00:00
Stefano Ceccherini
6718659e48 Fix warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-19 12:38:49 +00:00
Clemens Zeidler
43d808c01d Simplify code as suggested by Stippi.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-18 20:05:37 +00:00
Clemens Zeidler
e07ebdeb71 Fix SetTitle (bug #6321).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-18 01:35:45 +00:00
Clemens Zeidler
369b4ff1e3 Update copyrights.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-15 20:38:13 +00:00
Clemens Zeidler
09301a4959 Fix another TODO and move the caching of the decorator footprint region (the border region) form the Window class into the decorator base class. To do so I make some of the public Decorator methods non virtual and introduce new protected virtual methods instead. The non virtual public methods handle the caching now and calling the protected method afterwards.
This has to be taken into account when fixing the other Decorators!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-15 20:23:35 +00:00
Stefano Ceccherini
e4c638f650 ServerApp::Quit() was hiding MessageLooper::Quit() due to the default
paramenter, causing warnings when compiling with gcc4.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-15 07:32:15 +00:00
Clemens Zeidler
177ecc46b6 Refactoring of the Window class. Move window behaviour into separate WindowBehaviour class.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37524 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-15 04:49:38 +00:00
Adrien Destugues
7215b9e2ed * Avoid falling back to VL Gothic if the font with a missing glyph is VL Gothic itself.
* Some cleanup and style fixes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-07 18:25:19 +00:00
Adrien Destugues
2548c4c974 Minimal font overlay :
* FontCacheEntry will not use the "empty" glyph from fonts anymore, so squares are not drawn anymore
 * GlyphLayoutEngine will try the VL Gothic font, if the requested font doesn't have any glyph fo the requested character. The 
caching for the fallback is suboptimal, and the font choice quite limited, but this allows at least japanese text to display 
properly on haiku out of the box.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-06 20:52:10 +00:00
Wim van der Meer
164fceb29a * Fix 'missing braces around initializer for 'property_info'' warning
* Style cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-03 04:34:45 +00:00
Adrien Destugues
be8fa2fb30 * Update all applications in tree to use the new localizing system
* Remove the old one from the locale librairy, with some cleanup
Known regressions :
 * readonlybootprompt will no longer update the locale settings : the 
method used messed with internal undocumented things
 * external localized apps (webpositive for example) will not run 
anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-07-02 11:36:13 +00:00
Wim van der Meer
cc507fa3f3 Fixes compiler warnings and coding style. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-28 06:26:08 +00:00
Oliver Ruiz Dorantes
a5bf12376d *Incorrect endianess handling from bdaddr at parsing from string.
*Remove bluetooth_util deprecated header
*Issue conn_req for socket connect() call



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37132 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-14 20:04:10 +00:00
Axel Dörfler
be816234e8 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 07:29:16 +00:00
Philippe Houdoin
2d3904fe20 Add interface disabling support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-11 01:00:49 +00:00
Stephan Aßmus
8f8c973796 Updated indentation.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37052 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-06-07 21:17:49 +00:00
Fredrik Holmqvist
a648cf19fd Build fix, or Transport.Scripting.cpp2 needs to be added ;)
Thanks luroh for noticing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-28 16:46:45 +00:00
Michael Pfeiffer
9abbe87f8c * Style changes. No functional changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-28 15:55:07 +00:00
Michael Pfeiffer
8b0a06ad7a * For consistencies sake also translate transport scripting
comments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-28 15:41:56 +00:00
Michael Pfeiffer
f591d304a7 * Include of locale not required as pointed
out by Jérôme Douval ocommits ML. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-28 15:27:44 +00:00
Michael Pfeiffer
8d2c390382 * Applied slightly modifed patch from ticket #6089 by Karvjorm. Thank you.
- Added translation comment to paper sizes.
- Localized scripting comments.
- Improved localization of job info.
- Localized parts of about dialog text.   


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-28 13:45:21 +00:00
Jérôme Duval
31a3c4e885 gcc 2.95 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-27 18:55:28 +00:00
Stephan Aßmus
f33637d9a8 * Improved BNotification API.
- No more manual memory management.
   - Make it clear who keeps or releases ownership of arguments passed.
   - Copy icon, arguments and entry_refs.
   - Do not expose implementation details (What do the BLists contain?!).
   - BRoster takes const BNotification& and bigtime_t timeout.

 * BRoster::Notify():
   - Proper error handling.
   - Fixed documentation.

 * Adjusted notify:
   - Renamed fOk to fHasGoodArguments.
   - The "const char*" members were really "char*" members (self-managed).
   - free() is NULL-safe.
   - fRefs contains BEntries, so passing void* to delete does no good.
   - Adjustments to the changed API.
   - Coding style fixes.

 * notification_server:
   - Adjustment to the new type for timeout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36952 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-27 17:50:12 +00:00
Stephan Aßmus
de9dcd41f8 Patch by plfiorini: Integration of InfoPopper as a system service. See ticket
#1245. There are some TODOs outlined in the ticket, but they will be much
easier to review as individual patches against trunk, versus as a new version
of the huge patch.

I've messed a lot with src/servers/notification/NotificationsView.cpp in order
to resolve a crash I was getting when testing this thing (rewrote line
wrapping). I've also replaced the icons with the one that zuMi did long ago.

Thanks, plfiorini, for working on this code as much as you did!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36949 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-27 14:48:27 +00:00
Axel Dörfler
2fc6f37e88 * Window::MouseDown() no longer eats the click if the window modifiers were
pressed even if there is nothing to do. This allows the Deskbar to be moved
  with the window modifier keys held, finally, see #6029.
* Removed a superfluous (fDecorator != NULL) from the check to choose between
  decorator and window modifier action - _ActionFor() can safely be called with
  a NULL decorator, and it just made the logic look wrong (even though no harm
  was done).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-25 11:26:00 +00:00
Stephan Aßmus
3e711c79d8 Patch mostly by jackburton: The global offset for drawing a BPicture needs to
be applied before pushing a drawing state, otherwise it is not preserved
throughout playing the picture data. I've added the comment and resetting the
drawing origin to the previous value. Fixes ticket #6070, thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-25 10:45:04 +00:00
Stephan Aßmus
3f027ce92a Localization of mount_server based on a patch by Jorma Karvonen (ticket #6063),
thanks a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36924 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-24 14:43:09 +00:00
Stephan Aßmus
33394b856d Patch by Wim van der Meer: Added get_mouse_bitmap() global method to
InterfaceDefs.h and corresponding implementation in the app_server. Thanks a
bunch! Closes ticket #5978.

A note to those using "update-all" with hybrid builds - the alternative GCC
system libs will not be updated this way, and this and Wim's last patch
change the libbe <-> app_server interface. You need to manually update the
respective libbe.so, or do a clean build, otherwise apps for the other GCC will
not start anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-16 15:51:54 +00:00
Axel Dörfler
b78034782a * Possible work-around for #5899: if the index does not contain the correct
information, the mail is no longer sent.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-15 13:26:13 +00:00
Stephan Aßmus
1c73ffa102 Patch by Wim van der Meer: Implemented global Interface Kit function to retrieve
the current mouse position and pressed buttons. I've changed the return code
to status_t and added anal error checking, most of the rest of the file is not
doing it, though... :-) Thanks, Wim!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36811 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-14 15:53:09 +00:00
Matt Madia
4eb0cbb044 Updated TR_CONTEXT to be B_TRANSLATE_CONTEXT, relating to #5408.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-07 20:19:06 +00:00
Oliver Ruiz Dorantes
125183f9e5 - Add possibility yo set a custom friendly name to our device. Which will be seen by remotes devices at discovery
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-07 18:25:09 +00:00
Matt Madia
913ffd3e69 Updated to use B_TRANSLATE* macros. relates to #5408.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36698 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-07 00:35:03 +00:00
Ingo Weinhold
223bdece87 CreateAppMetaMimeThread::DoMimeUpdate():
* Don't traverse symlinks. Besides that this is not how the BeOS
  implementation behaves it could also lead to undesired recursion in case of
  symlinks to directories.
* Only process regular files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-04 17:37:19 +00:00
Jérôme Duval
4da0916c58 * style cleanup
* DefaultManager: added a lock around rescan thread start and exit:
this should fix the possible race condition spotted by Ingo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-02 22:35:18 +00:00
Axel Dörfler
0a51dbde98 * Unified the Desktop and ServerApp AS_ACTIVATE_WORKSPACE to work in the same
way.
* Use that newly exposed feature of taking the focus window to the new workspace
  when using the Ctrl-Alt-Shift-Arrow shortcut.
* This fixes #5675.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-02 17:15:13 +00:00
Axel Dörfler
8104bd5422 * Always set the focus to the moved window on workspace switch.
* This fixes a part of ticket #5675.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36584 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-02 17:12:33 +00:00
Stefano Ceccherini
a8e3f15774 Applied (part of) a patch by Kaliber, attached to ticket #5875. Thanks!
Will commit the rest later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-05-02 09:58:06 +00:00
Jérôme Duval
bbfd31096c * avoid launching one thread for each rescan request.
* erase the defaults settings file when writing it, previous content still existed at the end of the file.
* don't save an empty defaults settings file when node information is not available, this should mean the add on server is already gone.
* added some debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-24 16:56:22 +00:00
Oliver Ruiz Dorantes
ddbc9a0f2a - I expected once Haiku sets a connection with a remote device, such connection
was to expire in a couple of minutes, but not, seems to stay forever.
- Implement a Disconnect button in prefrences&kit



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-24 16:01:08 +00:00
Oliver Ruiz Dorantes
040fb3eaac - Refactor the handling of Expected and unexpected events.
- Handle all events invovled in the authentication
	- LinkKey requests -> reply always negative due the lack a a local linkey database
	- LinkKey Notification
- Handle Completed number of packets for future control flow
- Allow clients to issue a command without having to expect an event
- Fix: LocalDevice Handler was stopping the search once the opcode expected did not match
- Cleanup debug window



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-24 11:54:38 +00:00
Jérôme Duval
3fe663e009 B_MEDIA_RAW_AUDIO is not a flag for media_type, instead we must check for audio values.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36407 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-21 22:21:48 +00:00
Oliver Ruiz Dorantes
2db900d8f1 - Some refactoring on the event handling
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-17 20:10:47 +00:00
Axel Dörfler
2c49465329 * Removed the at_kbd_io and AT keyboard stuff; this is now done within the PS/2
driver, and that driver is using the raw_key_info structure as well.
* Renamed kb_mouse_driver.h to keyboard_mouse_driver.h.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 19:19:14 +00:00
Axel Dörfler
a608485f26 * Added new team flag B_TEAM_DEBUG_PREVENT_EXIT that prevents teams from exiting
via exit() (the calling thread will drop into the debugger instead).
* The DebugServer now uses this flag by default.
* Added TODO comment: the default debugger should already be able to set a flag
  like this in order to close a race condition between dropping a thread into
  the debugger and setting the flag.
* Cleaned up the debug_server sources a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 18:03:48 +00:00
Axel Dörfler
2f0568369b * Added missing include dependency from input_server to SystemKeymap.h.
* Removed superfluous package rules.
* 80 character per line cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-14 12:47:18 +00:00
Jérôme Duval
2d73faba95 clean up (white spaces, spacing and parenthesis)
added a TODO about using kMaxWorkspaces in ScreenMode.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36242 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 22:33:01 +00:00
Axel Dörfler
69bffde17e * The AccelerantHWInterface now prints a message to syslog if an accelerant
doesn't have the correct interface.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36211 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 12:27:05 +00:00
Axel Dörfler
f735ce7d79 * Make sure Shutdown() can be called more than once (ie. reset the members as
needed).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-13 12:23:01 +00:00
Axel Dörfler
b6486ac2c0 bonefish + axeld:
* When moving a window to another workspace (using the mouse or the keyboard),
  the fLastWorkspaceFocus array of the old workspace could still point to that
  window.
* This could also lead to a stale pointer and might have caused crashes in
  SetFocusWindow(). This should fix #5124, and its duplicates #5294, and #5688.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 19:12:39 +00:00
Ithamar R. Adema
b13b0b0f4e * Make sure LinkSender knows team ID of receiving team; this fixes the >64k ServerLink transfers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 14:26:19 +00:00
Axel Dörfler
022760a24a * Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 09:18:09 +00:00
Axel Dörfler
16e8f13a63 * Applied patch by Vegard that moves the resolver configuration to where it
belongs (with a few changes by myself). Thanks!
* This closes ticket #5636.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-11 09:07:35 +00:00
Oliver Ruiz Dorantes
ecd60ae87e - Fix creating BPath with empty string
- Add handling of local features to know about the role and encryption capabilities



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-02 11:15:10 +00:00
Jérôme Duval
a4f52ae465 Patch from Pete Goodeve to add time data to incoming MIDI (#5664)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-04-01 18:24:53 +00:00
Ingo Weinhold
58b0a5dda6 DoCatalogs:
* Renamed parameter "appName" to "target".
* Replaced parameter "generatedCatalog" by "sourceLanguage" and made it
  optional. Default is "en".
* Removed the no longer needed parameter from the DoCatalogs invocations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-31 18:34:03 +00:00
Ingo Weinhold
6d9af5b7a0 Removed no longer needed DoCatalogs parameters.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36009 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-30 18:21:26 +00:00
Siarzhuk Zharski
9be3c0f4c6 - russian localization data files are updated from HTA;
- missed Jamfile entries for russian localization data files added.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-27 22:41:43 +00:00
Stefano Ceccherini
8ce4644fbd If SetFullScreen() was called on a hidden BDirectWindow, it wouldn't be
set to fullscreen (since that code checks for a Screen object, and is null in
that case). So we also call ResizeToFullScreen() in ServerWindow::_Show(), 
if needed. Fix ticket #4456.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-26 17:34:44 +00:00
Axel Dörfler
37a68cb1f2 * Renamed kRequiredParameters to kRequestParameters as suggested by Vegard.
* Cleaned up some style issues introduced by Hugo a while back.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-26 12:31:46 +00:00
Axel Dörfler
bfd479b3b6 * Also request the domain name, patch by Vegard Wærp in ticket #5633.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-26 12:24:38 +00:00
Stephan Aßmus
c12643530e My first fix to avoid overwriting resolv.conf was better. Reverted to this code
and clarified the TODO comments. resolv.conf is written again once per
_ParseOptions(), with the DHCP_ACK messages providing the final data.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35954 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-26 10:43:51 +00:00
Stephan Aßmus
20fb872810 My commit message in r35940 wasn't quite true, if DHCP_OFFER contained the
name servers, but DHCP_ACK didn't (probably unlikely, but who knows...), then
if DCHP_ACK contained the domain, the name server entries in resolv.conf would
be lost. Now DHCPClient maintains whether resolv.conf should be rewritten and
does so once per _Negotiate() session.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-24 09:50:24 +00:00
Stephan Aßmus
538cc4144c * Replaced unsafe zero termination of "data" for names utilizing printf format
trickery.
 * Rewrite resolv.conf once per invokation of _ParseOptions() (as before), while
   solving the problem that OPTION_DOMAIN_NAME_SERVER and OPTION_DOMAIN_NAME may
   appear in arbitrary order.
 * Added TODO about how it should be handled eventually. After the changes in
   r35938, it should now work as before. The only remaining problem is that if
   OPTION_DOMAIN_NAME appears in DHCP_OFFER, but not in DHCP_ACK, the domain
   information is lost.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-24 09:36:41 +00:00
Stephan Aßmus
24b170b983 Updated indentation style.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-24 09:30:35 +00:00
Stephan Aßmus
0f87f52fad Patch by Vegard Waerp: Added support for setting the the local domain in the
Network settings and setting the domain if received by DHCP.

Thanks a lot, closes #5619.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-23 23:58:41 +00:00
Stephan Aßmus
b809ff1c59 * Tweaked the thumbsize of the pointing hand cursors.
* Repurposed the FollowLink cursor as CreateLink cursor.
 * Created a new FollowLink cursor based on a design by Justin Stressman, thanks!

It compiles and I proof-read the commit, otherwise I didn't test, yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-20 14:23:42 +00:00
Stephan Aßmus
678ee16d6a Fixed double conversion from view to screen space I introduced with the previous
commit. PictureTest at least works again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-19 09:38:28 +00:00
Stephan Aßmus
76ab3f88df Basically, this changeset implements BShape::ArcTo(). In more detail:
* Added BShape::ArcTo() and BShapeIterator::IterateArcTo(), using a previously
   unused virtual slot. (Added the symbols for binary compatibility for GCC2
   and GCC4.)
 * Added operator=(), operator==() and operator!=() to BShape.
 * Added BShape::BezierTo() version taking three points, which is sometimes
   more convenient.
 * Added the four new shape data ops OP_LARGE_ARC_TO_CW, OP_LARGE_ARC_TO_CCW,
   OP_SMALL_ARC_TO_CW and OP_SMALL_ARC_TO_CCW. For a single arc, provided the
   radius is large enough, there are four possibilities to draw the arc, these
   are controlled by the two boolean flags to ArcTo() and mapped to the new
   commands accordingly.
 * Some style cleanup in Shape.cpp (sorry for mixing it up, but it gets
   worse below...)
 * Added ShapeTest to src/tests/servers/app.
 * Changed the way BShapes are transformed from view to screen space in the
   app_server. For arcs, it would be nontrivial to apply a proper transformation,
   it's much easier to let AGG take care of it. This affects ServerPicture as
   well.
 * Wrapped iterating the BShape into try/catch blocks in ShapeIterator. But
   I really don't understand the purpose of the class in the first place.
   Maybe it can now be dropped, since coordinates don't have to be transformed
   in place anymore.
 * Refactored copy&paste shape iteration code in Painter. The transformation
   to screen space happens there.
 * Since RemoteDrawingEngine needed to be adopted anyway, I also updated
   it for the new DrawString() with offsets version. But the client still needs
   to be adapted.
 * Style cleanup in Painter.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-18 16:58:19 +00:00
Stephan Aßmus
77e5acc0d9 * Extended the BView drawing API by a DrawString() version that takes an array
of locations, one for each glyph.
 * Added a test for the new functionality.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-15 13:59:14 +00:00
Matt Madia
0fee9c60ae Two blank lines between functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-12 17:37:11 +00:00
Matt Madia
ff1b6201b3 IsParallelAccessLocked() is defined as a debug-only conditional in the header.
Fixes the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-12 17:35:11 +00:00
Stephan Aßmus
a0b37b6e38 Tried to fix all issues with running a DEBUG build of app_server.
* CopyRegion should not need the HWInterface to be exclusive locked.
 * BitmapDrawingInterface does not need to be locked at all, since
   it doesn't use a shared HWInterface instance.
 * Window and Desktop should lock the HWInterface appropriately
   before invoking CopyRegion() on the DrawingEngine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35822 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-12 12:46:24 +00:00
Stephan Aßmus
8b56f14aeb Fixed debug build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35820 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-12 11:07:23 +00:00
Adrien Destugues
eae673e874 Sync portuguese translation from hta.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-09 12:11:14 +00:00
Stephan Aßmus
e59dc33e21 * Added BCursorID enumeration in App Kit's Cursor.h and new constructor which
takes such an id.
 * Reused the existing mechanism to to have hardcoded tokens for the system
   cursors, i.e. removed cursor_which enumeration from ServerProtocol.h and
   used BCursorID where cursor_which was previously used.
 * Reworked CursorManager.h and CursorSet.h accordingly and removed some methods
   that where intended to replace system cursors with client cursors, since
   those would break the reference counting and forget to maintain the cursor
   list.
 * Replaced the cursors in CursorData.h/cpp with the new ones I just designed.
 * Removed HaikuSystemCursor.h and HaikuLogo.h from the source, as those are/were
   no longer used.

I hope I will not get too much beating for this one... :-) I know the new
default cursor is slightly larger, but I believe the old one was just too small.
Also I noticed that the cursor may be slightly too dark, at least the old one
seems noticeably brighter when compared side by side (the new one has a slight
gradient). That is something I may correct at least. Otherwise I hope nothing
is broken, I've tested in QEMU and so far everything works as intended.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-07 23:12:34 +00:00
Stephan Aßmus
8a17198258 Fixed regression introduced in r35706. The decorator would not include the
inner row/column of pixels of the resize knob anymore. (18 - 5 - 1 != 13)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-04 09:46:07 +00:00
Ryan Leavengood
a17770f44a Small coding violation. Thanks for the tip Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35714 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-01 22:40:33 +00:00
Ryan Leavengood
db4da598fc Small refactoring and cleanup:
* Add constants for the length of the resize area on a window border and for 
   the size of the resize knob on document windows.
 * Clarify some comments.
 * Change instances of thumb to knob in reference to the resize knob. It was
   called knob in some places and thumb in others.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35706 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-03-01 18:57:18 +00:00
Michael Pfeiffer
d90d29facd Fixed some style violations (max 80 chars per line).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-27 20:09:19 +00:00
Michael Pfeiffer
80dd024309 Localized print_server.
Added German translation. Again feel free to improve it.
Updated copyright year in About dialog.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-27 19:40:39 +00:00
Alexandre Deckner
2882dba2a1 * remove left-overs of deprecated ClassInfo.h includes (cf. OpenGrok) except in SupportKit.h for backward source compatiblity (although it shouldn't really matter).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-24 15:10:37 +00:00
Axel Dörfler
606105c62c * Reduced the maximum lock time to roughly a quantum (a little less might even
be better, though).
* This might help further with #4709.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-21 11:51:40 +00:00
Axel Dörfler
87e7b978aa * Fixed race conditions in the server's bitmap/picture handling: the objects
are now removed from the maps as soon as the client deletes them. This also
  makes the "client reference" mechanism superfluous I introduced earlier.
* ServerApp::SetCurrentCursor() must always call Desktop::SetCursor(), since it
  is also called whenever the current application changes. This fixes the cursor
  almost never changing.
* Renamed ServerPicture::Usurp()/StepDown() to PushPicture(), and PopPicture().
* Also, they now acquire a reference to the picture in question (ie. the picture
  you get from PopPicture() also owns a reference you need to free).
* ServerApp::CreatePicture() may fail, too. This case is now handled in the code
  that calls it.
* Previously, the ServerWindow tried to process up to 70 messages in one go.
  That obviously caused bug #4709. Now, we have the additional requirement to
  not hold the desktop lock for longer than 25 ms. I haven't tested it with
  Kaleidoscope yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-15 14:50:53 +00:00
Axel Dörfler
aeb689782c * Removed ServerCursorReference in favour of BReference.
* Simplified the Desktop::SetCursor() code a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-15 14:43:09 +00:00
Axel Dörfler
abf0b1523a * Removed unneeded comment/code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-15 14:39:48 +00:00
Rene Gollent
82471d43cb When counting new messages in the deskbar replicant, ignore messages that are in the Trash.
Fixes ticket #5401.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-14 03:58:33 +00:00
Philippe Saint-Pierre
de4212d411 NetServer: Clear the IFF_AUTO_CONFIGURED as needed. It was cleared at reboot, but not when the config file was updated.
Fixing ticket #3912.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-05 02:30:38 +00:00
Michael Lotz
5bc9fb9d24 * Replace the truncate_string() helper function with a new, simplified version.
* Remove no longer necessary support functions.
* The new version uses a single BString as input/output parameter and only
  modifies that one by removing non-fitting chars and inserting the ellipsis
  where appropriate, so avoids copying around bytes/chars/strings in a few
  places. It uses the new Chars functions of BString so also no need for manual
  multibyte handling.
* Adjusted the BFont and ServerFont usage of truncate_string() which are both
  simplified by using the single BString. It avoids a lot of temprary
  allocations and string copying. The char * version of BFont
  GetTruncatedStrings() now uses the BString version and not the other way
  around anymore which requires us to allocate temporary BString objects, it's
  not worse than before though.
* This fixes a bunch of problems with the previous functions like always
  prepending the ellipsis for B_TRUNCATE_BEGINNING, crashing on short enough
  widths, violating the width in the B_TRUNCATE_END case when the width was
  short enough, non-optimal truncation in a few cases and sometimes truncation
  where none would've been needed. Also fixes #4128 which was a symptom of the
  broken B_TRUNCATE_BEGINNING.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-02-01 18:43:03 +00:00
Axel Dörfler
90b5a0b261 * Renamed all DEC_* constants to CLICK_*.
* Renamed DEC_MOVETOBACK to CLICK_MOVE_TO_BACK, and DEC_SLIDETAB to
  CLICK_SLIDE_TAB.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35259 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 12:43:48 +00:00
Axel Dörfler
ba1d39e48f * Right clicking the resize area now always moves the window behind. This
obviously differentiates from BeOS behaviour, but I think it makes much more
  sense this way.
* Simplified DefaultDecorator::Clicked() by eliminating the "clicked" variable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35258 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-23 12:27:17 +00:00
Jérôme Duval
6aee58a4cb * Revert the reverse the addons iteration of r35121.
* The media_addon_server before unloading addons need to be sure the nodes are deleted.
For instance, applications could keep references on global nodes, thus preventing deletion.
To release all references, the media_addon server uses a new method BMediaRosterEx::ReleaseNodeAll().
* Quit the MediaRoster looper when quitting media_addon server before unloading addons.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-17 20:05:01 +00:00
Jérôme Duval
1952dab0df * we release nodes which were instantiated or autostarted.
* I had to reverse the addons iteration when quitting, the mixer wasn't releasing correctly if released last.
* use IncrementAddonFlavorInstancesCount on autostarted flavors.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-17 16:51:06 +00:00
Jérôme Duval
f0bddd1112 * also prints out the node ref_count on Dump()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35119 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-17 16:43:03 +00:00
Jérôme Duval
d3bb2b9543 style clean up
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-17 12:51:31 +00:00
Axel Dörfler
c9025d9114 * Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-16 18:14:12 +00:00
Stephan Aßmus
3e6fa229d8 Patch by Humdinger:
Switched strings to sentence case in servers and kits. This is the
case-servers+kits.diff applied from #5169. Couldn't spot any possibly
problematic changes.
Thanks a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-13 10:58:34 +00:00
Oliver Ruiz Dorantes
aeb7f21616 - Destroy debug window as late as possible
- Delete event listener
- a fake SDP server is enabled.

- Checkstyled



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-10 21:54:22 +00:00
Jérôme Duval
4c7d632339 Avoids loading addons entry which aren't files (fixes #5222).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34988 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-10 15:06:23 +00:00
Axel Dörfler
675d0b6264 * Fixed compilation when debug is enabled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-01-05 16:23:58 +00:00
Rene Gollent
ca833f9f1b HandleAddSystemBeepEvent was checking for a specific error code which changed during some recent media_server reworking. As a consequence, adding new system beep events no longer worked.
Fixes ticket #5176.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34803 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-29 16:57:44 +00:00
Adrien Destugues
ff48991114 BeDecorator works again :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-22 21:33:41 +00:00
Adrien Destugues
4550f38949 -Bring BeDecorator back at a compilable state
-Some updates to the DecoratorManager to try to make it working. The add-on is not identified properly but I can't find out why...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-22 21:06:58 +00:00
Jérôme Duval
0b604ab644 Some simplifications (thanks Axel):
* Don't watch for moved entries
* Ask the network stack to delete the named interface 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-12 20:22:10 +00:00
Jérôme Duval
b1b74111f5 * free buffer on ioctl failures
* monitors /dev/net for added or removed devices and handles events 
	by configuring or unconfiguring interfaces. When plugged a usb 
	network device, it now appears correcly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-12 15:30:26 +00:00
Ingo Weinhold
183a514eb3 Build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 17:57:07 +00:00
Axel Dörfler
e4c87231a3 * Renamed the xfer_* structures to fit the rest, and let them inherit from the
usual structures.
* Also, they now use the QueryServer()/SendToServer() functions instead of
  duplicating them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 17:17:01 +00:00
Axel Dörfler
1fcbc5470b * More cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 16:48:49 +00:00
Axel Dörfler
9c3b4706dd * Cleaned up the node manager, got rid of its use of Map, and List.
* Fixed at least two reference counting problems, but nodes from killed teams
  still remain alive (will look into this at a later point).
* GetLiveNodes() is now using transfer_area() as well.
* Made all sizes in the SendTo*() and Query*() functions size_t.
* Replaced reinterpret_casts with static_casts when casting void pointers.
* Ordered the request/reply structures by target.
* Tried to consolidate the use of add_on vs. addon.
* More cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 16:22:24 +00:00
Axel Dörfler
c28dd9fdc3 * Implemented getting/setting the audio gain of media files.
* Renamed "remove_ref_for" command structures and constants to
  "invalidate_item".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 19:56:04 +00:00
Axel Dörfler
e3745f7643 * Implemented support for setting/getting the audio gain in the
MediaFilesManager; the client protocol implementation is still missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 18:49:54 +00:00
Axel Dörfler
9dc3c57ac7 * Now uses a flattened BMessage as settings file format instead of a proprietary
one.
* Also renamed the settings file to "MediaFiles" which I had previously already
  renamed accidently.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 18:08:35 +00:00
Axel Dörfler
8f70123737 * Obviously not one of my best days today: the SERVER_GET_MEDIA_FILE_{ITEMS|TYPES}
commands used a mix of old and new transfer_area() semantics, which didn't work
  out too well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 15:31:08 +00:00
Axel Dörfler
7e5d04c543 Beware! The following commit will crash your system when open "Sounds"; I'll
look into this now.
* Renamed the MMediaFilesManager to MediaFilesManager.
* Got rid of its Map usage, we're using std::map now instead.
* The media_server is using an unsafe method to transfer areas from the server
  to the client. I've changed this for the BMediaFiles API to use Haiku's new
  transfer_area() function. However, this seems to cause the above mentioned
  problems.
* Improved naming and data exchange structures used for the BMediaFiles API.
* Fixed BMediaFiles leaking its lists.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 14:22:56 +00:00
Axel Dörfler
6fcead13eb * Got rid of Map, and replaced it with a std::map.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 09:40:58 +00:00
Axel Dörfler
d9e9ff142b * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-08 09:40:07 +00:00
Axel Dörfler
29bb91d6e5 * Cleaned up DormantNodeManager.
* Renamed global variable _DormantNodeManager to gDormantNodeManager.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-07 21:11:13 +00:00
Stefano Ceccherini
955e542ab4 gcc4 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-05 17:13:58 +00:00
Axel Dörfler
e9b349e887 * The media_addon_server is now using the more or less shared
AddOnMonitorHandler solution, instead of doing its own thing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-05 15:09:48 +00:00
Axel Dörfler
efb527ca96 * Removed BeOS drop-in support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-05 15:07:49 +00:00
Axel Dörfler
f0f0a2d136 * Removed unnecessary defines.
* Removed COMPILE_FOR_R5 support.
* No need for the distribution files any longer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-05 15:04:43 +00:00
Axel Dörfler
dca6b4f951 * Renamed main.cpp to MediaAddonServer.cpp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-05 14:28:19 +00:00
Axel Dörfler
9dec231042 Sorry for this large commit in advance; it's not really possible to divide this
into smaller parts:

media_addon_server:
* Removed (broken) use of (broken and inefficient) home-brewn Map, and List
  classes. This also fixes a crash on shutdown when used with the malloc_debug
  implementation. It's using stl::vector, and stl::map now instead.

_shared_buffer_list:
* Renamed _shared_buffer_list to SharedBufferList, and put it into the BPrivate
  namespace. Also, made a class out of it.
* Separated shared buffer list creation from cloning.
* Enlarged maximum number of buffers to something that is not that evil, but
  actually uses the space it has (ie. is a useful multiple of
  shared_buffer_info that fills a multiple of B_PAGE_SIZE as much as possible).
* No longer drops into the debugger if the
* The list that is currently used is very inefficient for the features it
  provides though (no change there).

_buffer_id_cache:
* Renamed to BufferCache, and put it into the private namespace
* It now deletes its buffers on deletion; since the BBufferConsumer will be
  gone, too, at this point, there is little chance that there are still buffers
  in use.
* Also, it's now using std::map instead of the (see above) Map class.

BBuffer:
* Got rid of the fBufferID member.

Misc.:
* Got rid of the global "team" variable; the media kit is now using the
  private app kit's current_team() now.
* Added a lot of missing error checks (mostly memory allocations).
* Renamed fields like "flavorid" to flavor_id, renamed "dfi_*" fields to
  something more detailed.
* Moved ServerInterface.h from src/servers/media/ to headers/private/media.
* Notifications.h was not self contained.
* Added missing licenses.
* Lots of cleanups, and coding style fixes.

What this doesn't fix:
* Bug #4954 which started all this (this comes next, though)
* Deinitialization is broken, as the PortPool is uninitialized too early, and
  still used afterwards.
* The strange add-on monitoring code in the media_addon_server


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-05 11:11:28 +00:00
Axel Dörfler
f7d3982857 * Always take the last window when choosing a new focus window in normal mouse
mode. This fixes focus issues as describen in bug #5020.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 11:56:00 +00:00
Axel Dörfler
593a0d2d90 * Ignore send errors on negotiation, and just try again when they happen.
* This should improve the reliability in case drivers cannot send a packet when
  they are still negotiating the line speed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-03 10:44:05 +00:00
Axel Dörfler
5b576468d3 * Removed (incorrect) check in ServerWindow::NotifyMinimize() for
B_NOT_MINIMIZABLE; it should still be possible to hide an application
  programmatically.
* The decorators now honor this flag, though.
* And the Deskbar overrides BWindow::Minimize() to ignore all minimize requests.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 09:47:27 +00:00
Ingo Weinhold
bc0693b219 * Construct the MIME data base directories lazily.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-01 08:52:13 +00:00
Ingo Weinhold
4701b640d9 * Give the BClipboard lock a name.
* be_clipboard is no longer created at libbe initialization time. The
  BApplication creates it as done in BeOS. This requires manual
  initialization in the registrar to avoid a deadlock on shutdown.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 17:14:00 +00:00
Axel Dörfler
ac628ead05 * Moved the B_NOT_MINIMIZABLE flag check into ServerWindow::NotifyMinimize()
as this fixes some more incorrect minimizations on the app_server side.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-30 08:06:50 +00:00
Philippe Houdoin
50a1d8a4f5 Stupid me, vector icon data loaded by a local BResources
object is lost outside its scope. 
Now vector data is copied instead.

Spotted by Pete Goodeve, thanks!
This should close #4562.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 21:39:49 +00:00
Philippe Saint-Pierre
001731449e Don't minimize windows (when hiding applications) if they have
the B_NOT_MINIMIZABLE flag. It should more properly fix #4337.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-29 19:55:02 +00:00
Oliver Ruiz Dorantes
e97e2846af Add code for simulating a SDP server present in the host
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-28 19:26:00 +00:00
Axel Dörfler
ae4d11e97f * Turned off unconditional debug output in the RosterSettingsCharStream class.
* Replaced some DBG(OUT) debug output with the registrar's global one.
* Cleanup, mostly whitespace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-27 11:52:18 +00:00
Stephan Aßmus
50897e5fcf When we wait for one team, but then another aborts the shutdown process,
we should make that team accountable, not the one we waited for. This should
not have been a real problem, but this is more correct anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-26 21:23:28 +00:00
Stephan Aßmus
e48f3e5b7e Reverted part of r34253 and fixed the ticket for real plus another bug:
* When the user presses Cancel or Kill in the Shutdown progress window, in no
  event will the "Application X aborted the shutdown process" be displayed.
* When the shutdown process already entered the waiting for a possibly blocked
  app, and the app aborts the shutdown then, the "Application X aborted..."
  alert will be displayed (issue not mentioned in ticket).
Fixes #3863 for real.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-25 21:51:29 +00:00
Stephan Aßmus
a612f3c2ae Applied patch by idefix:
Canceling the shutdown process will not blame the application that happened
to be asked to quit at the time.
Thanks a lot! (Fixes #3863)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34253 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-25 20:36:24 +00:00
Philippe Houdoin
259b620cc6 Renamed vector icon message data name to to simply "icon".
It's typed as B_VECTOR_ICON_TYPE, which is only known under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34231 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-25 05:46:14 +00:00
Philippe Houdoin
e899cf2aa0 Added missing vector icon support.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-25 05:27:56 +00:00
Axel Dörfler
15fe75b9a0 * Added a protocol version field to AS_GET_DESKTOP. This should be bumped after
incompatible releases, and makes sure clients using the old libbe.so will be
  rejected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 17:22:44 +00:00
Axel Dörfler
121ce64309 * Don't allow to show windows that don't have a top level view yet. This fixes
bug #5022.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 17:19:24 +00:00
Axel Dörfler
0b63cc935f * We now store the last window having focus in a separate array, or else the
windows visible on more than one workspace destroy the FFM experience (ie.
  restoring the last window that had focus on a workspace switch).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-24 15:28:12 +00:00
Jérôme Duval
2795d5dca5 Play startup sound after the first defaults rescan is done. This fixed #1902.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-22 16:26:12 +00:00
Jérôme Duval
53d3fc817d Patch from hiron ticket #4848 : add raw_char field for generated B_KEY_DOWN messages. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-21 23:42:54 +00:00
Stefano Ceccherini
85fdce1698 Fix tabs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-21 22:15:59 +00:00
Ingo Weinhold
752639885a * Fixed syslog permissions.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-21 18:13:06 +00:00
Axel Dörfler
d77fe260cb * Added missing "continue" as pointed out by Siarzhuk. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-20 11:26:15 +00:00
Axel Dörfler
afad65b245 * Bitmaps and pictures now maintain their client reference independently;
clients can no longer release more references than they own.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-19 10:42:19 +00:00
Axel Dörfler
47212dddf5 * Made the Alt-Shift-Fx behaviour consistent with Ctrl-Alt-Shift-Arrow (ie.
take the active window to the new workspace).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 15:03:58 +00:00
Axel Dörfler
0296ba19bb * For dead keys, the keyboard input device now sends a B_UNMAPPED_KEY_DOWN
event.
* This allows applications to listen to keys independent to their dead key
  status.
* The app_server keyboard filter now also check for B_UNMAPPED_KEY_DOWN.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 13:47:08 +00:00
Axel Dörfler
842aad23f9 * Fixed focus behaviour of FFM on workspace switch - let SetFocusWindow() decide
which window to give focus, it already does the right thing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34110 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 11:40:33 +00:00
Axel Dörfler
289d85d2ac * BWindow::SendBehind(NULL) will now send the window to back.
* Added shortcuts ctrl-alt-F to get a window to front, and ctrl-alt-b to move it
  to the back.
* Updated the user guide with these shortcuts, and also explained the missing
  "single click to bring window to front" behaviour.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34108 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-18 10:33:32 +00:00
Axel Dörfler
88b38f2901 * Moved loading roster settings to the point after it has been added to the
registrar.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-16 18:13:27 +00:00
Axel Dörfler
7162a69600 * Disabled excessive debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-16 18:07:56 +00:00
Stefano Ceccherini
9fd52b6e73 Removed crept-in tab (thanks Ingo!)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34001 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-11 11:16:22 +00:00
Stefano Ceccherini
5c5976298b The family flags did not report if a font was "full and half fixed". But
this flag isn't even set, yet, anyway, so nothing changed for real.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-11 11:02:47 +00:00
Stefano Ceccherini
b69c3af236 Make use of Freetype macros where applicable (no functional change)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-11 10:33:58 +00:00
Axel Dörfler
b299a6e9d3 * Moved resolv.conf to /boot/common/settings/network/.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33989 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 16:42:03 +00:00
Axel Dörfler
3734adc5b3 * Build fix of the timezone/keymap move. Sorry!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-10 14:21:27 +00:00
Axel Dörfler
a0439d88df * Adjusted thread priorities of several system services based on a mail from
Mikhail Panasyuk: since worker threads often end up with B_NORMAL_PRIORITY,
  it might be a good idea to give system threads a higher priority.
* Minor cleanup (mostly automatic whitespace).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-09 15:25:48 +00:00
Axel Dörfler
0a9f301a59 * Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-09 11:40:02 +00:00
Axel Dörfler
ea0ba618c5 * "bitmap" can actually be NULL at that point, so calling ReleaseReference()
on it unconditionally is not a good idea. This fixes bug #4904.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33935 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-07 10:44:11 +00:00
Axel Dörfler
d99900143c * Fixed a few operator precedence bugs (&& ... & ... &&).
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-07 09:14:01 +00:00
Axel Dörfler
56e4496947 * Use BReferenceable instead of Referenceable. Didn't notice there was a
BReferenceable in the first place, thanks Ingo!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-04 15:17:05 +00:00
Axel Dörfler
4b0459b2ee * Refactored ServerBitmap a bit: it now inherits from Referenceable instead of
roling its own solution.
* Also removed BitmapManager::DeleteBitmap() - you only call
  ServerBitmap::RemoveReference(), and that one will notify the manager if
  needed.
* Some more cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-04 14:08:16 +00:00
Axel Dörfler
85a7877f80 * ServerApp's bitmap and picture handling was completely broken, as it ignored
concurrency as well as reference counting, causing occasional crashes and
  memory corruption.
* ServerPicture now subclasses Referenceable, and will notify its owner when
  it's going to be deleted. This might bring some regressions, although I
  couldn't spot anything wrong yet.
* ServerBitmap will now also notify its owner when it's going to be deleted as
  well.
* Switched from the former picture/bitmap lists to a std::map. This also solves
  the issue of not checking whether or not the bitmap/picture actually belongs
  to the ServerApp (before, all apps could access and delete all
  pictures/bitmaps)
* Introduced a new fMapLocker that guards the new maps.
* ServerWindow now uses GetBitmap()/GetPicture(), and gives up its reference
  after use.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33876 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-04 13:28:32 +00:00
Axel Dörfler
3d2dfb860d * More cleanup, improved error return codes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-04 10:48:57 +00:00
Axel Dörfler
961399db48 * Coding style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-11-04 10:34:07 +00:00
Philippe Houdoin
c1181914cb Added Pete Goodeve to contributors for his work on MIDI.
Give him credit in midi_server and fix a typo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-30 06:26:25 +00:00
Philippe Houdoin
85d512ed65 Revert Stack & Tile patch (r33814) and first fixes done by axel (r33824, r33826)
The stack & tile feature developement & fixes would be done in 
branches/features/stack-and-tile branch, until it's ready enough to be merge 
into trunk.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-30 06:22:52 +00:00
Axel Dörfler
9fb9c160af * TRoster now actually stores its settings, ie. the recent file list now
survives a reboot.
* The target directory is now created if needed.
* Relocated/renamed the settings file to
  ~/config/settings/system/registrar/RosterSettings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-29 13:55:47 +00:00
Axel Dörfler
c5a9a2ea13 * This should fix the GCC4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-29 12:31:02 +00:00
Axel Dörfler
23e00a25e2 * Fixed millions of coding style violations introduced by the stack & tile
patch. Grmbl.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-29 10:11:24 +00:00
Philippe Houdoin
ef831a1dc3 Applied Stack & Tile patch by Hong Yul Yang, formely by Christof Lutteroth.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33814 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-28 18:46:23 +00:00
Philippe Houdoin
4c091ffef4 Apply patch (with changes) by Pete Goodeve: fix #4053.
Closing usb_midi now wake up midi_server port reader, as expected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33782 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-26 22:28:47 +00:00
Axel Dörfler
b85716cbd9 * Not sure why Brecht changed the behaviour of FFM here. This should hopefully
fix most of the issues.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-25 21:53:27 +00:00
Axel Dörfler
c3d0a5e8a1 * Fixed the style violations introduced by r33732, nothing too bad, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-25 21:52:17 +00:00
Brecht Machiels
926e63c885 * added click to focus mouse mode; right-click for bring-to-front and send-to-back
(might cause some regressions in FFM)
* made accept first click user configurable
* updated the Mouse preflet to use the layout kit
* removed the warp and instant warp modes from the Mouse preflet
* changed internal representation of mouse modes (warp modes moved)
* coding style fixes



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33732 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-22 21:10:19 +00:00
Axel Dörfler
a406b1e625 * When switching the workspace while moving a window around, that window got
added to the window list without considering its frontmost window. That caused
  problems with all feels that were always on top, like
  B_ALL_WINDOW_FLOATING_FEEL. This was causing bug #4700.
* Disabled the "previous window keep keyboard focus" heuristic - it doesn't
  really work that well. There should be a central mechanism that detects active
  typing that could also be used to disable touchpads.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33697 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-21 10:14:09 +00:00
Axel Dörfler
481e448812 * Removed a work-around for an older mail_daemon version that never made it
to Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-15 14:40:58 +00:00
Axel Dörfler
f802f04acf * Removed BONE PPP support.
* Coding style cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-15 14:40:06 +00:00
Axel Dörfler
5762cbce56 * Fixed typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-12 14:37:49 +00:00
Michael Pfeiffer
0a10f2b5b7 Added vector icon created by zuMi.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-09 07:00:01 +00:00
Stephan Aßmus
011a4cdbfc * Removed now obsolete notification (this was not even used in Tracker
anymore).
* Added interface to get the current settings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-07 19:31:57 +00:00
Stephan Aßmus
2cfe13f4b9 Reverted accidental commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-07 19:29:49 +00:00
Stephan Aßmus
21f2402e20 Work in progress of moving the (audo-)mounting functionality from Tracker into
a dedicated mount server. This is pretty much a straight copy from the
AutoMounter code from Tracker, except
* the eject on unmount setting has been added (in Tracker, it's part of the
  general settings, not the mount specific ones),
* scripting features have been added, such that it becomes possible to trigger
  mounting the previoulsy mounted volumes from the outside, and most
  importantly block until the operation is done (waiting for the reply).

TODO:
* Change Tracker to not run it's own AutoMounter, but send messages to the
  new server.
* Move the eject when unmounting setting to the mount settings window.
* Enable the mount_server in the Bootscript.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-07 18:34:29 +00:00
Axel Dörfler
db7e5d1960 * This fixes the coding style violations Michael recently introduced.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-07 16:32:26 +00:00
Axel Dörfler
931cd377aa * Added a new flag kAcceptKeyboardFocusFlag that allows B_AVOID_FOCUS windows
to still receive keyboard events. This is now used for menu windows (before,
  the menu feel alone would trigger that behaviour).
* This also fixes bug #4691, as tool tip windows use the menu feel as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-07 16:26:32 +00:00
Axel Dörfler
7f954bd566 * This makes event messages work again in the app_server test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-07 16:02:27 +00:00
Stephan Aßmus
5a41c9fb17 Sorry, should have tested the patch first. Now it actually works as intended.
I.e. you need to hold down exactly Ctrl+Alt for the server side window
modifiers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-06 10:13:33 +00:00
Stephan Aßmus
a1d5d23476 Applied part of a patch from Caitlin Shaw (coding style cleaned up!):
* Trigger server side window modifiers only if exactly those modifiers are
  pressed.
* Add the new window flags defined in Window.h to what the server considers
  valid flags. Otherwise the new flags important to the server (only
  B_NO_SERVER_SIDE_WINDOW_MODIFIERS) get filtered out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-06 09:29:26 +00:00
Stephan Aßmus
a1a5c7b1d1 If this flag would already work on the real app_server, one could test it in
the libbe_test environment... the classical chicken & egg problem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-06 09:25:58 +00:00
Stephan Aßmus
936c6d6c7d Sorry, missed this from the GCC4 fixes for libbe_test.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-06 09:22:10 +00:00
Stephan Aßmus
b7b32111a0 Leave out the cool new remote screen feature from the libbe_test app_server.
Otherwise libnetwork.so needs to be dragged in, which has some issues.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-06 09:21:16 +00:00
Stephan Aßmus
50de4a5e00 GCC4 fixes when compiling the test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33453 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-06 09:19:57 +00:00
Stephan Aßmus
1fc35b4f46 * Small cleanups
* Declaring the structs doesn't work so well for the libbe_test target.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-06 09:18:47 +00:00
Axel Dörfler
b4a7d0bcc6 * Do not forward the Command-~ to the apps, like with the other workspace
switching keys.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-05 16:16:36 +00:00
Michael Lotz
68667bf48a * Adding a remote desktop interface that operates on app_server drawing
primitives by providing a RemoteDrawingEngine and a RemoteHWInterface.
  Not really optimized yet, still a bit WIP.
* Adding corresponding infrastructure like a blocking ring buffer and network
  sender/receiver that are attached to the buffers to feed/drain them as well
  as a RemoteMessage helper that provides a message based interface.  
* Adding target screen concept to request an app to be run on a specific screen.
  It's controlled by the TARGET_SCREEN environment variable which is added on
  the app side and sent to the app_server.
* Right now only remote target screens are supported, in which case a new
  RemoteHWInterface is created that tries to connect to the given host:port.
* Fix shape bounds when drawing, they need to be translated by the pen position
  and converted to screen like the points as well. Wasn't visible though as the
  bounds weren't used in the normal DrawingEngine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-10-04 14:15:17 +00:00
Oliver Ruiz Dorantes
61da62d0e3 Implement/Fake a temporal SDP server, to allow pairing of devices
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-27 19:09:13 +00:00
Adrien Destugues
875e7244d7 Patch by Michael Weirauch to fix bluetooth apps signatures.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-24 21:07:18 +00:00
Philippe Houdoin
ba4b45f760 Coding style cleanup. Hope I got it right...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-24 17:53:49 +00:00
Philippe Houdoin
c6989ed912 * check if the device path is already known first.
* check the path is NOT a directory or a symlink to a directory.
  regular or char/block device are considered both valid path to read 
  from and write to. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33257 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-23 20:55:08 +00:00
Stephan Aßmus
19b850b383 Fixed the build of the app_server test environment.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-23 08:08:33 +00:00
Stefano Ceccherini
36e4aeea57 If launching the media_addon_server via signature fails, try to launch it
from the current directory. The code was already there but commented out.
This fixes launching the media_addon_server from the liveCD. There was
a ticket, I think, but I can't find it right now.
Also reordered includes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33208 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-20 15:00:04 +00:00
Jonas Sundström
7914280cb8 Less hardcoding of paths. Adding shared private OpenWithTracker().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-20 14:50:01 +00:00
Philippe Houdoin
93bd4c0ea6 * Move initial devices scan again in a thread, to avoid deadlock.
* Check that path is indeed a file, not a directory
* Contrary to what BeBook say, we can't delete BLocalMidi* endpoints, 
  but only Release() them like all others endpoints. Avoid midi_server to 
  panic when a device is removed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-20 10:18:11 +00:00
Jonas Sundström
6a400ee80f Move mailbox symlink from ~/mail/mailbox to ~/config/settings/Mail/mailbox as requested in #4580. Create in/out/draft folders at build time.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-19 23:33:20 +00:00
Philippe Houdoin
382a9e1278 * Any status byte could now break SysEx sequence. We only
swallow SysEx end byte (F7) when it's the expected one. 
   Should fix #4445.
 * Implement device remove handling.
   Which should fix #4053.
 
Please test it.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-17 23:51:19 +00:00
Philippe Houdoin
96270089ee Fix MIDI System Exclusive parsing:
* F0 start bytes is not part of the content sprayed anymore
 * Realtime byte are now supported during a SysEx, as it's the only 
   event that could be interleaved between a SySEx F0 .... F7 sequence.
 * Orphelin SysEx F7 end byte is passed on *AS IS*.
 
Please test (no support midi port to do it myself).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-14 04:34:21 +00:00
Philippe Houdoin
5b2d7337d7 Rework midi_server device watching to support dynamic detection, not just
at startup. WIP, as the removing case is not yet handled.
Plus vector icon support should be added to Midi kit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-13 15:36:33 +00:00
Michael Lotz
09d5a191c2 Remove copyrighted icons from app and print server. They don't yet have a
replacement.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33080 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-12 05:59:16 +00:00
Oliver Tappe
d23fdd96cb * DHCPClient now passes communication problems with NetServer on to caller,
as a result failed DHPC-requests will no longer result in bogus static
  configurations (but an auto-config IP-address will be picked instead)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-10 22:59:27 +00:00
Michael Lotz
156b8d5d2d * Initialize member variables.
* Remove some unused members.
* Avoid initializing the mouse position to non-integer coordinates.
* The frame right/bottom are width/height - 1.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-07 01:37:22 +00:00
Michael Lotz
60a981fbbe When a focus locked window is hidden, we need to remove the focus lock.
Otherwise the focus cannot be changed to another window. In one case this could
have a severe sideeffect: When a window is quit it is hidden to remove focus and
remove it from screen. If this didn't work due to the focus lock, the fFocus
member would become a stale pointer after the window was quit and deleted. The
app_server would crash or corrupt memory on the next focus change. Easily seen
when moderately quickly clicking away a few alert windows.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-04 03:51:15 +00:00
Michael Lotz
edb6254810 When an app is going down and the windows are destroyed, all views are detached.
On detaching the views remove themselves from the app local token space. Since
the ServerApp only waits for all ServerWindows to be removed from the window
list and not for their actual destruction, it can happen that the ServerApp is
deleted before the window destruction and hence the view detaching has finished.
The views would then access a stale ServerApp pointer and try to remove their
token from the deleted token space. To avoid that we set the ServerApp pointer
to NULL when the window is removed from the app (as after that the app can be
gone any time) and check for that case when detaching.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-03 22:56:30 +00:00
Axel Dörfler
7b8b23e9a4 * Cleanup, no functional change.
+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-01 09:53:41 +00:00
Axel Dörfler
2a0cda5017 * Added proper locking to _ResizeToFullScreen().
* Desktop::{Move|Resize}WindowBy() could be called with zeros in which case it
  doesn't have to do anything.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32775 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-28 09:33:18 +00:00
Stefano Ceccherini
e5c25980bd Someone (like the screen_blanker) could call
BDirectWindow::SetFullScreen() before the window is shown.
The app_server didn't like this, since in that case, Window::Screen() is
NULL. I added a check to ServerWindow::_ResizeToFullScreen() to handle
that case. +alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32774 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-28 09:22:40 +00:00
Axel Dörfler
9fe35223cf * BWindowScreens had no sychronization mechanism whatsoever - since the
workspace activation message was asynchronous, whether or not the
  BWindowScreen stopped drawing in time was pure luck (this also caused crashes
  with the VESA driver, as that one unmaps its frame buffer during mode switch).
  Introduced a new AS_DIRECT_SCREEN_LOCK protocol for this.
* In the long term, we should let BWindowScreen use the same mechanism as
  BDirectWindows, though.
* Removed superfluous locking in BDirectWindow::_InitData().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-27 12:10:59 +00:00
Axel Dörfler
8bca36b1cd * Fixed locking order reversion as spotted by Stefano.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-27 09:27:03 +00:00
Axel Dörfler
a5a64d5481 * Renamed DirectWindowSupport/Data to DirectWindowInfo.
* Cleanup of the fullscreen stuff.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-27 09:19:40 +00:00
Axel Dörfler
78ca6157b6 * Changed AS_GET_SCREEN_ID_FROM_WINDOW as well as AS_SCREEN_GET_MODE to no
longer hold the window lock. There is now a lock that guards screen changes
  in particular. This fixes the deadlocks seen in apps using BDirectWindow.
* All direct window handling now sits in the Desktop class -
  ServerWindow::HandleDirectConnection() is never called from anywhere else
  anymore. Furthermore, it's now only called when actually needed.
* Resize/move actions now always send a B_CLIPPING_MODIFIED flag, too.
* When the screen changed, the driver state is supposed to be B_MODE_CHANGED,
  not B_SCREEN_CHANGED (which is a message constant).
* Direct windows are no longer suspended too late on screen changes.
* Removed unused members of DirectWindowData, and cleaned it up a bit.
* Made MultiLocker's default, and copy constructors private - I accidently
  used them, causing the ASSERT_MULTI_*LOCKED() macros to fail.
* Added Unlock() to AutoWriteLocker as well.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-27 08:50:46 +00:00
Rudolf Cornelissen
d5a6847722 re-enabling app_server support for accelerant hook GET_PREFERRED_DISPLAY_MODE. This was disabled by accident in R26545 by Stippi I expect. The ATI, Radeon and nVidia driver are needing this for fisrt-time starting in native display mode if EDID failed. Please let me know if this shouldn't be enabled. +alphabranch
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-26 18:31:53 +00:00
Stefano Ceccherini
d913595783 Disabled BDirectWindow mode for the time being. +alphabranch
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-26 11:08:51 +00:00
Stefano Ceccherini
8c52a155f0 Reapplied some old fixes (which don't help at all, I had already tried).
Some (disabled) syslog output.
Renamed buffer_info to fBufferInfo and made it private.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32692 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-26 10:59:28 +00:00
Axel Dörfler
fe9c291b29 * Since ServerWindow::Window() can also be NULL in case the window hadn't been
added to the Desktop yet, we better make sure in AS_GET_SCREEN_ID_FROM_WINDOW
  that this is not the case.
* Removed the now superfluous ServerWindow::IsOffscreen() again.
+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-24 15:22:34 +00:00
Axel Dörfler
9a9aa3e021 * The Ctrl-Alt-window modifier patch was pretty broken. Also, I've disabled
window moving for windows without a decorator at all, at least that's what I
  would assume they intend (we might want to force them to set B_NOT_MOVABLE,
  too, though).
* This also fixes the crashing bug as described in ticket #4314.
+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-24 11:02:32 +00:00
Stefano Ceccherini
56c60d4bbc Revert this, it was only done for testing purposes. Sorry.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32648 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-24 07:39:05 +00:00
Stefano Ceccherini
cc9fa1ae39 some (disabled) debug stuff
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-23 22:30:53 +00:00
Stefano Ceccherini
899d145454 ServerWindow needs only to call DirectWindowData::SetState() now, since it does all the work to sync with the client itself. Made DirectWindowData::SynchronizeWithClient() private and renamed it accordingly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-23 21:33:25 +00:00
Stefano Ceccherini
d3b6a35a30 Some server side debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-23 20:32:39 +00:00
Stefano Ceccherini
f6ad8d5abb More encapsulation of directwindow stuff into DirectWindowData.
I changed lot of code (while trying to fix ticket #4311), reverted some old
changes and probably messed up a lot. It's very much a work in progress.
Anyway, DirectWindowStars still work correctly, but Chart (and GLTeapot) do
not. I suspect a race condition between the DirectWindow creation and
the activation of the direct mode on the server, maybe exposed more easily 
by the changes in the scheduler.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-23 07:08:39 +00:00
Stefano Ceccherini
467c2e8cb5 Moved DirectWindow support classes into a separate DirectWindowSupport.h/cpp.
No functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32613 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-22 16:00:28 +00:00
Stefano Ceccherini
f277acc9cd Don't crash the app server if the user calls BScreen(BWindow *) supplying
an offscreen window (Magnify does that, and that's the cause of ticket #4304).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-22 14:14:17 +00:00
Axel Dörfler
91d5822a7c * The code to handle AS_GET_SCREEN_ID_FROM_WINDOW did not lock the desktop,
which got unnoticed since the former Desktop::ActiveScreen() never changed.
  This fixes bug #4301.
* Also fixed a possible deadlock on application crash with a kWindowScreenFeel
  window; the locking order of the Desktop's and the ServerApp's window lock was
  reversed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 18:08:04 +00:00
Stefano Ceccherini
3b33d6307b Fixed B_READ_WRITE -> B_READ_AREA | B_WRITE_AREA problem.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 16:21:39 +00:00
Stefano Ceccherini
d3ae6ef65b use DIRECT_BUFFER_INFO_AREA_SIZE instead of B_PAGE_SIZE, even if they
are the same, but it's more correct. Also memset the buffer_info struct.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 15:40:53 +00:00
Stefano Ceccherini
7d9dfe90a5 fixed style violations
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 15:24:37 +00:00
Stefano Ceccherini
f1400a3199 More refactoring of the DirectWindow server code. No new bugs introduced
(hopefully), and now I could enable the B_SCREEN_CHANGED notification since 
it works a bit differently


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 15:07:40 +00:00
Axel Dörfler
fe7f167df1 * Resolved a TODO and got rid of Desktop::ActiveScreen().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 13:34:33 +00:00
Axel Dörfler
cc93fbbba8 * Shuffled methods around to match their location in the header.
* Made ScreenChanged() private, and renamed it to _ScreenChanged().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 13:19:53 +00:00
Axel Dörfler
5e3f4c41a6 * ServerApp now maintains a mask of workspaces with temporary mode settings,
and reverts the modes if the app goes away (ie. if it crashes).
* Desktop::SetScreenMode() also set the mode on the current screen, even if
  it should have been set on another screen.
* Cleaned up the Desktop.h header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 12:57:24 +00:00
Axel Dörfler
90ac66553e * Fixed computation of the screen frame in case of multiple screens.
* Removed debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 10:30:30 +00:00
Axel Dörfler
5ce919497d * The changed settings format (display mode instead of composed fields) actually
broke Desktop::WorkspaceFrame(), which I didn't notice before; Workspaces now
  shows everything in the right dimensions, even if resolutions differ.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 10:28:46 +00:00
Axel Dörfler
e18224cdf4 * Added a new AS_GET_SCREEN_FRAME function, as getting the frame via
AS_SCREEN_GET_MODE won't work with multi-screen support anymore, and is also
  more overhead than needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 10:23:01 +00:00
Axel Dörfler
f7e005eb83 * Moved PrivateScreen.h header to headers/private/interface.
* Desktop is now including it as well to be able to use the new
  B_CURRENT_WORKSPACE_INDEX constant.
* Include order cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 09:37:54 +00:00
Axel Dörfler
50dfc607fb * Fixed typo that prevented the app_server from restoring the
ScreenConfigurations correctly.
* Removed scoring for the screen ID alone - if there is a monitor info, we don't
  want to match an existing info if it only has an ID, as that one hasn't been
  stored for the current monitor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-21 08:02:09 +00:00
François Revol
23ac6129a6 Fix gcc4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 22:28:02 +00:00
Axel Dörfler
0eed918306 * Rewrote screen configuration management: VirtualScreen doesn't have anything
to do with the configurations now, instead, there is a separated
  ScreenConfigurations class that maintains all known screen_configurations
  per workspace (and the Workspace::Private class has two of them, one for the
  current modes, one for the stored modes).
* Added Desktop::{Get|Set}ScreenMode() methods, ServerApp now only calls those.
* Getting and setting of anything else than the current screen is now supported.
* This change also fixes that a temporarily set screen mode was not being
  restored on workspace switch.
* Also, the Deskbar now seems to have the wrong location a lot, which is
  something that should be easily fixable therefore. I will look into this next.
* Got rid of the unhandy screen_id structure server side, and in BPrivateScreen;
  we now just use an int32 - the next API break should definitely replace the
  screen_id with a simple typedef.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 17:52:32 +00:00
Axel Dörfler
02b6c95990 * VirtualScreen::RestoreConfiguration() now also takes care of collecting the
screens that actually changed their resolution, which simplifies the code
  in Desktop considerably.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 09:45:54 +00:00
Axel Dörfler
0d1d2de59b * Desktop::SetFocusWindow() now takes kWindowScreenFeel windows into account,
and does not give focus to any window behind that one.
* Added TODO comment to the DefaultDecorator bitmap caching mechanism (although,
  it really seems to be fast enough, anyway, at least once we remove no longer
  used bitmaps).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 09:18:32 +00:00
Axel Dörfler
2c69b5b6c0 * Made the libbe_test environment basically working under Haiku - to actually
make it work, one would need to use versioning for all libbe symbols. This is
  worth an 8k price per file that links against libbe.so, so I didn't want to
  commit this as is. An alternative to this solution would be to write a
  separate application that is responsible for the app_server's window. Comments
  welcome.
* Removed BeOS compatbility of the libbe_test stuff.
* Renamed the libbe_test targets from *haiku* to *test*, ie. libbe_haiku.so is
  now called libbe_test.so, haiku_registrar is now test_registrar, etc.
* This also removes BeOS compatibility from tracker/FSUtils.cpp (all BeOS
  compatibility should be removed, but I don't want to make Alexandre more work
  in his branch, and it's not urgent at all).
* Replaced the former "run" scripts for the test environment with a single
  run script (see updated NOTES file).
* Removed the libbe_test target from some applications - this was only to help
  developing them under BeOS, and is thus no longer necessary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 14:17:13 +00:00
Axel Dörfler
30d716e081 * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 14:05:00 +00:00
Philippe Saint-Pierre
bc6272feed Registrar Shutdown window: Make Font Size sensitive
* Removed the WordWrap from the text view, until we computed the TextHeight(), then put it again, once the textview got resized.

I think it might be hiding an other bug in the way we compute TextHeight(), but it seems to be a workaround.

(Fixing?) Ticket #169


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-19 01:30:56 +00:00
Axel Dörfler
dacf06e665 * The cached button bitmaps were not invalidated on font or look change, causing
incorrect buttons to be shown.
* Fixed coding style violations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-17 17:09:38 +00:00
Axel Dörfler
b53a9cf25c * When a window changed its look/title/... we need to make sure the dirty region
we got in _RebuildAndRedrawAfterWindowChange() does not contain hidden parts.
* This eliminates the updates as seen in the WindowInvalidation test app, as
  well as it fixes bug #4257.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-17 16:54:57 +00:00
Stefano Ceccherini
a1bcb09b45 Added a ServerWindow::ScreenChanged() hook, which takes care of resizing
an eventual offscreen directwindow and sends the direct window notifications 
(not yet, though, since a BDirectWindow on a non-visible workspace would
get the B_DIRECT_START notification and start drawing on a different workspace).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-17 11:53:50 +00:00
Axel Dörfler
219bd33f29 * Deleted overlays were never removed from the fOverlays list, instead they were
added another time (copy&paste bug). This caused #3282.
* Added optional tracing output to Overlay.cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-17 10:16:23 +00:00
Bruno G. Albuquerque
c2e9bbc888 - Revert excessive debugging.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-16 22:13:28 +00:00
Bruno G. Albuquerque
cd75ca52e7 - Yet more debug. This should allow me to test locally.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-16 18:35:01 +00:00
Bruno G. Albuquerque
e46d0e7d91 - Even more debugging. This is temporary while #4103 is fixed.
- Added some missing \n.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-16 12:56:10 +00:00
Bruno G. Albuquerque
25a638d411 - Implemented handling of partial matches. This must be improved
eventually as, right now, we just handle it as normal multiple matches.
- Improved error reporting for CDDB query commands.

This should fix #4103.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-15 21:04:00 +00:00
Stefano Ceccherini
e4ea54bdb7 Getting the screen mode should be protected, at least by a read lock.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-15 17:22:19 +00:00
Stefano Ceccherini
701dae79c9 Squashed a TODO: Added a View::InitCheck() and use it after construction. Removed the check
for View->CurrentState() == NULL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-15 13:12:10 +00:00
Stefano Ceccherini
2a2d0f1d10 After a B_DIRECT_STOP notification, the app_server could trigger a
B_DIRECT_MODIFY with, for example, B_CLIPPING_MODIFIED. This was ignored,
though. Now we combine this notification with the next ones, so that
on B_DIRECT_START, the client is informed of all the things which have
changed. Chart was relying on receiving the B_CLIPPING_MODIFIED notification
to exclude some stars from being erased, in case the window went offscreen.
Anyway, the net result is that Chart doesn't crash now, and we follow
more closely the original BDirectWindow protocol. Fixed ticket #1939.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32392 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 20:38:35 +00:00
Stefano Ceccherini
b7c167dbe2 This check is no longer needed, since the case is covered by the one
in DirectWindowData::SetState().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 16:40:44 +00:00
Stefano Ceccherini
3e20b06294 Work in progress towards cleaning up the directwindow server code:
Renamed direct_window_data to DirectWindowData and turned it into a
class.
Encapsulated some functionality inside the DirectWindowData class.
No functional change (yet).
More to come.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 16:34:55 +00:00
Stefano Ceccherini
1c8695a627 only call HandleDirectConnection() if the window is not hidden. Fixes bug #4234
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 15:47:36 +00:00
Axel Dörfler
73a1a46de9 * Made defines out of the kNetServerSignature and kMsgConfigureInterface
constants - they are used in other apps as well, and defining them as
  "static const" causes undefined warnings in other source files. This also
  fixes the build.
* Changed "interfaces::auto config" to auto_config, as that's more convenient
  to use in the settings files.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-13 16:30:21 +00:00
Axel Dörfler
399d690252 * Fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-13 16:28:28 +00:00
Axel Dörfler
5544f69de6 * Added "stand_alone" setting to the services - this way you can use the
net_server to launch services that work like a daemon theirselves (like sshd).
  A service like this is also killed (via SIGTERM) when the netserver stops the
  service (with sshd, you have to pass the '-D' option to make this work).
* If a boolean is given without value, it now defaults to true.
* The "launch" argument now gets its arguments properly parsed, and added, too.
* Services::_Update() did accidently set fUpdate on the wrong service, causing
  services that were not changed to be stopped.
* More helpful output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-13 16:22:09 +00:00
Stefano Ceccherini
f98bacf6ca Moved HandleDirectConnection From Window to Desktop. This should fix the
spurious off-window drawing of BDirectWindow. At least, it does here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-13 14:01:25 +00:00
Axel Dörfler
6dad3717d5 * Don't let the app_server trigger a content draw if the kWindowScreenFlag is
set. This fixes the white background when starting ParticlesII.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32305 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-13 11:33:51 +00:00
Alexandre Deckner
84e0703c87 * Build fix
* More style fixes
* Automatic whitespace cleanup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-12 12:21:13 +00:00
Alexandre Deckner
19e9930c2a * More style fixes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-12 11:40:42 +00:00
Alexandre Deckner
3cbc1540cc * Style update. Don't know what to do about the licence headers though
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-12 11:25:44 +00:00
Alexandre Deckner
220c754efe * Rename deskbarview.cpp/h to DeskbarView.cpp/h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-12 10:53:00 +00:00
Alexandre Deckner
636f089026 * Rewrote icon drawing for the deskbar replicant, now use our shiny vector
icons. Haven't looked into R5 backward compat.
* Minor style fixes, more in the next commit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-12 10:47:18 +00:00
Axel Dörfler
1592b6fb4c * Made the comment a bit more useful.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32245 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-11 10:03:47 +00:00
Axel Dörfler
6c36406800 * Cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-11 10:01:37 +00:00
Axel Dörfler
07e13b5fe6 * Removed superfluous ReplaceDecorator() method.
* Cleanup, no functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32243 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-11 09:25:26 +00:00
Michael Pfeiffer
a557cf937c * Print server is not BeOS compatible since layout manager is used.
* Removed it from haiku-printingkit-cvs package.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-10 18:13:36 +00:00
Michael Pfeiffer
2f4e68fe98 Fixed the issue from ticket 4178 comment 5.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-10 17:57:43 +00:00
Michael Pfeiffer
c8c436f571 Made UI font size sensitive using layout manager.
Please review. 

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-10 13:38:35 +00:00
Michael Pfeiffer
d3e51e16f7 Changed shortcut for About dialog to 'a'.
Updated about text.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-10 10:55:59 +00:00
Jonas Sundström
dede003a3c Strip slash character from cddb data before attempting to rename volume and files. Continue in spite of file errors.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-10 01:26:14 +00:00
Rudolf Cornelissen
756f5c98b8 fixed BScreen mode.flags handling. This is now compatible with BeOS, and fixes for instance the use of Dualhead Setup for the Matrox and nVidia driver which make use of 'free' flags. A modeset command should be relayed to the accelerant even if it differs by just a single bit: the accelerant best knows how to handle this. Remark: Haiku's screen preflet refuses to set modes once a virtual screen is set since it doesn't recognize the currently set mode. I guess that could be fixed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-09 15:26:19 +00:00
Axel Dörfler
b90e7304ed * Made the changes in r30278 depending on the USE_ACCELERATION define, ie. you
can now easily turn it on again (see #2769).
* Also added OFFSCREEN_BACK_BUFFER define to enable the offscreen back buffer
  trick.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-07 11:27:30 +00:00
Axel Dörfler
2d332a4228 * This lets the app_server respect the boot loader's fail-safe video mode
setting again. It still allows you to change the mode afterwards, though.
* This fixes bug #3419.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-07 11:08:31 +00:00
Axel Dörfler
201c2842bd * The media server now clones each buffer area only once - before, you could
only add a very limited amount of buffers part of the frame buffer, for
  example, as that one is usually a very large area.
* This could prevent all sorts of media buffers to be cloned on certain
  conditions (and could also cause a MediaPlayer fallback to bitmap mode for
  no apparent reason).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-06 10:01:20 +00:00
Axel Dörfler
8399a7c04d * When a buffer_info is removed, its area is now actually deleted as well. This
already fixes bug #4189, although there is another bug that could cause a
  similar effect (working on that next).
* Switched from media_server local TMap to HashMap, although this is probably
  equally archaic.
* Also replaced TList with std::set for the team list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-06 09:45:04 +00:00
Axel Dörfler
696b8f43fb * Cleanup, BufferManager now aggregates the buffer map as well as its locker
instead of allocating them separately, no functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-06 08:55:02 +00:00
Axel Dörfler
86a1f079e9 * Also fill out monitor_info production date from EDID info.
* Do not set serial_number if there is none.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 19:10:22 +00:00
Stephan Aßmus
4ef213ddc4 Initialize the default fonts to NULL.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-05 14:47:32 +00:00
Stefano Ceccherini
3bd4966700 Now also hide/show the cursor when BDirectWindow::SetFullScreen() is called.
in the handler, instead of checking if the window is an offscreen one,
check if fDirectWindowData is NULL, and do nothing if it's the case.
When setting a clip region in ServerPicture, also invalidate the clipping.
To do so, I added a public ServerWindoow::UpdateCurrentDrawingRegion()
which just calls the private function. Please review and see if it can
be done better. This fixes the problem with BPicture and the 
ConstrainClippingRegion() op (see ticket #1389)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32087 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 16:50:01 +00:00
Axel Dörfler
b25988572f * Fixed style.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-03 10:04:43 +00:00
Stefano Ceccherini
4695f67019 Completed the server part of BDirectWindow::SetFullScreen(). The window is
now resized and moved correctly. Moved this functionality to its own method.
Should fix bug #4168.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 15:57:22 +00:00
Philippe Houdoin
86ee03ec73 Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-01 11:03:15 +00:00
Axel Dörfler
ca9e658bd9 * Added Eizo, thanks Jonas.
* Added comment to monitor_info::name retrieval via EDID1_MONITOR_NAME.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 22:22:28 +00:00
Michael Lotz
d7a16b238f * Fully switch to the Haiku message format so that it is also used for on-disk
storage.
* Remove reduntant information from the header (field_count vs. fields_size).
* Remove checksums previously used to validate the message passing by area
  mechanism.
* Move variables that are purely used by the instance out of the header and into
  the BMessage object.
* Use more sensible types for the different message fields.
* Reduce some field sizes to realistic values.
* Make size_t values into uint32 values so the message format will not change
  when later moving to 64 bits.
* Pack the structures used for flat message storage so it doesn't change
  because of padding.
* Fix message passing by area. It never worked because the created area was
  never actually filled with any data!
* Some more allocation checks with graceful fallbacks (should be all now).
* Some more checks for negative index values (should also be all now).
* Make printing more inline with how the rest of the class works and make some
  of the output more consistent.
* Also add the new unsigned types to PrintToStream() output.
* Fix printing of unknown types and invalid BMessages, it would always have
  printed only the first entry respectively the same error.
* Added some clarifying comments.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 22:19:36 +00:00
Axel Dörfler
ed8a411691 * Removed the questionable "found" stuff from GetMonitorInfo(); even if there
is no model name, the info is still useful (this also affects saving by
  monitor).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 18:46:13 +00:00
Axel Dörfler
9c1f8bf0c7 * Reverted r32012 which reopens #4127 - the fix causes strange behaviour with
CL-Amp which is a bit worse than seeing TrackerStatus in the Deskbar. Will
  search for a proper solution later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 15:34:04 +00:00
Stephan Aßmus
313fedacc1 * Let the Encoders use the media_codec_info.sub_id field for their own purposes.
* Implemented some of AVCodecEncoder. Maybe video encoding already works, but
  we don't know until the AVFormatWriter is more than just stubs... but I doubt
  it. :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 13:06:34 +00:00
Axel Dörfler
c6906c2832 * In FFM mode, when a window was closed, or the workspace was changed, the
window under the mouse was given focus. This makes using FFM with the keyboard
  alone very inconvenient to use, which is why now the window that previously
  had focus will regain it instead; as soon as you actually move the mouse, the
  focus is changed as usual.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 11:58:59 +00:00
Axel Dörfler
23046a3935 * No longer maintain the Window::fMinimize member for hidden windows; this seems
to be what happens in BeOS, at least, and fixes bug #4127.
* Hopefully diver will also find any negative consequences of this change :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 10:43:47 +00:00
Stephan Aßmus
6033e52a83 Implemented support for get_next_encoder() variations from MediaFormats.h.
The AddOnManager in the media_server registers one encoder entry per
successful EncoderPlugin::RegisterNextEncoder(). This gives us a first idea
what media_format_family and input/output media_type is supported. The
mechanism may have to be extended, or the Encoder needs an API to specialize
a format further. In that case, the get_next_encoder() version that takes
optional _acceptedInput/OutputFormat needs to instantiate the plugin and
needs to ask the Encoder. But AFAIK, no app uses it like that anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 00:46:36 +00:00
Stephan Aßmus
ac13d1a272 * Style cleanup
* Check allocations and report error in case any fail.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 21:28:00 +00:00
Stephan Aßmus
7cd2513b82 Changed the way Encoders are published by EncoderPlugins. Encoder retrieval
in PluginManager is reenabled. We use the media_codec_info.id to reference
a specific plugin, while the sub_id will be used to reference individual
Encoders that the plugin supports. No idea if that's how it was intented, but
some comments hint in this direction. I failed to mention this before, but
comments are of course very welcome on any of these commits, as always.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 20:05:11 +00:00
Axel Dörfler
69f9a367bc * The app_server no longer uses workspace counts internally, but only columns,
and rows.
* set_workspace_count() now uses the logic formerly found in
  WorkspacesView::_GetGrid() to determine the layout.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 00:52:21 +00:00
Stephan Aßmus
60c85abee5 Resolved TODO, make it clear who maintains the allocation of the
media_file_format array (it remains with the plugin itself, as with
DecoderPlugins).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31955 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-30 00:11:02 +00:00
Stephan Aßmus
7c06546a8e Implement the backend of get_next_file_format(). The AddOnManager maintains
a list for known media_file_formats. The internal IDs map to plugins.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31950 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 22:49:23 +00:00
Stephan Aßmus
c74bdf0919 In theory, I added management of WriterPlugins and EncoderPlugins. When looking
at media_file_format.id, I wonder if this could work without having to get an
entry_ref from the server for a WriterPlugin, added TODOs to this effect.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 19:14:04 +00:00
Stephan Aßmus
e4b11fdb81 Header indentation updated, changed "* " style.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 17:58:46 +00:00
Michael Lotz
1aab2b2717 If the font style isn't found, try to scan for fonts as well. The same is done
for families. This fixes the bug that when a font family was already loaded, but
some of its styles haven't been loaded yet, the app_server would fail to set
the system fonts to those styles. Fixes bug #4148.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31904 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 13:04:08 +00:00
Michael Lotz
75251adc37 Small cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 11:21:59 +00:00
Michael Lotz
337b8534e0 Don't crash the app_server if the font couldn't be found. Fixes bug #4149,
though it still has to be investigated why the font style isn't found.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 11:17:25 +00:00
Stephan Aßmus
c4d98f827b Wow... pure luck this worked as well as it did...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31898 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 10:38:13 +00:00
Ryan Leavengood
568b1f0baf Small workspaces view tweaks: draw only the currently focused window yellow,
and use the navigation color for the selected window (when dragging in the
workspaces view.) I hope window->IsFocus() is enough, the DefaultDecorator
seems to have more complex logic.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-29 06:52:00 +00:00
Stephan Aßmus
55feb44e82 BScreen uses ~0 to denote the current workspace *index*. This should fix
ticket #4144. Untested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-28 21:24:02 +00:00
Stephan Aßmus
390b0f9486 Added TODO about why the implementation of StoreConfiguratoin() is broken
if it were ever called for an inactive workspace, as our BScreen API in theory
allows you to do (not the BeOS API).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-28 21:22:54 +00:00
Stephan Aßmus
97fd0558de * Fixed bug introduced with recent commits that didn't keep the relative
offset of the mouse when resizing/moving windows when other constraints
  restricted the resizing or moving.
* Applied patch by Stephen Deken with changes by myself:
  - Windows now snap to the screen edges.
  - There is a snapping time window of 1.5 secs during which the window still
    snaps to the screen edge after it first snapped. Then there is a pause
    during which there is no snapping.
Thanks a lot, Stephen, and sorry it took so long, nice patch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-28 10:59:21 +00:00
Stephan Aßmus
6e4ad06302 Improved the anti-accidental-window-nudge feature: Use the activation delay
also in the MouseMoved() hook for a timeout. So window moving begins after
either a timeout of half a second, or after having moved the mouse at least
4 pixels.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31834 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 22:37:07 +00:00
Stephan Aßmus
0f8d2b68cf Be a good boy and follow through with the new feature of server side window
shortcuts so that the second mouse button sends windows to the back... :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 19:12:17 +00:00
Axel Dörfler
47d9ed62d3 * Added AS_GET_WORKSPACE_LAYOUT to get the number of columns/rows of the
workspaces.
* Added shortcuts Ctrl-Alt-{Left|Right|Up|Down} to switch to adjacent
  workspaces.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 17:22:11 +00:00
Stephan Aßmus
41969dbaf9 Fixed off by one error that would cause the array to be not filled entirely
when the gradient finished earlier than the area to be filled. This is visible
when drawing only one line of the gradient when it's outside the gradient area
as in ticket #3749. Though I am seriously wondering why it works when drawing
more than one line. Maybe a buffer overflow in the regular case? Will
investigate.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 16:25:43 +00:00
Stephan Aßmus
90c518c2c2 Make sure the font size for the window labels does not grow beyond the system
plain font size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 16:09:50 +00:00
Stephan Aßmus
5147963dcd headers/private/kernel/util/OpenHashTable.h, Hugo's version, is a bit nicer than
Tracker's OpenHashTable.h which it should eventually replace. We've renamed the
class to BOpenHashTable and changed the interface slightly so that HashTableLink
became superfluous.
Adapted all the code that used it. Since the OpenHashTables no longer clash,
this should fix the GCC4 build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-27 00:39:12 +00:00
Stephan Aßmus
ab7a6c0999 Implemented experimental precaching of the system font
files during starting the app_server. Should in theory
reduce disk seeks when booting from CD.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 23:44:48 +00:00
Stephan Aßmus
e343673a0b * The app_server implements modifiers for performing decorator actions anywhere
inside the window. These are Command + Alt. In X11, it's just Alt, but that
  is already used in various Haiku/BeOS apps.
* Introduced new window flag B_NO_SERVER_SIDE_WINDOW_MODIFIERS to disable the
  above.
* Made click to front in FFM mode less strict, you can slightly move the mouse
  now and still click windows to front.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 20:45:04 +00:00
Stephan Aßmus
fb2c7f9394 bonefish + stippi:
Reworked the glyph caching:
* It is now glyph index based (a font file has an internal glyph code to
  index mapping, so that for example the same fallback glyph is used for
  all unsupported codes).
* We do not truncate to uint16 anymore at various places, but support
  the full 32 bit char codes.
* This made it necessary to switch to an OpenHashTable based cache lookup.
* In CharacterMap, you can now see that the second Unicode plane does not
  wrap around anymore.
TODO: Remove old entries from the hash table after a while to free up memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 18:04:01 +00:00
Stephan Aßmus
d29e4565b7 When the gradient finished ealier than the to be filled area,
the remaining part with the solid color of the last stop was
filled with red and blue swapped. In the current GUI, it would
only be visible with BTabViews. I am pretty sure there was a
bug report about it (by julun if memory serves), but I cannot
find it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31772 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 13:53:52 +00:00
Axel Dörfler
63c07622f6 * Some style cleanups, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 11:25:14 +00:00
Stefano Ceccherini
ab53bb2086 Export get_bytes_per_row() from InterfacePrivate.h, and use it in ServerBitmap
in place of the own rolled implementation. Comment typo fix.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-26 07:59:16 +00:00
Michael Lotz
07ff9929e5 Add missing newline in debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-25 20:03:21 +00:00
Stefano Ceccherini
e0826ec8d8 fixed gcc 4 warning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31739 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-24 18:34:41 +00:00
Stefano Ceccherini
ba823bcb17 fBuffer was allocated with new and freed with "free()". Fixedx
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-24 18:34:05 +00:00
Stefano Ceccherini
e6a52fe4b7 Setting the font family/style in a BPicture works now. Added a comment
to ServerBitmap


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-22 16:38:52 +00:00
Stefano Ceccherini
de6a19ee14 Got rid of fBitsPerPixel (and BitsPerPixel()) in ServerBitmap,
since they were nowhere used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31677 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-21 18:28:31 +00:00
Stefano Ceccherini
4bb65f96fc Fixed some coding style violations
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31657 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-20 17:27:41 +00:00
Stefano Ceccherini
2637ecd547 made some methods private. Those weren't used anywhere outside of the class
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-20 17:25:27 +00:00
Stefano Ceccherini
bd09485ce9 try to handle the SetFontFamily case in ServerPicture, although it doesn't work. Maybe I'm not doing it correctly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-19 10:21:21 +00:00
Michael Lotz
63d557f06f Fixing random GCC4 warnings. Mostly missing consts, some parentheses, some braces... Should all be harmless and not change anything.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-16 02:42:03 +00:00
Ryan Leavengood
ef37e382db New midi_server icon roughly based on this:
http://karistouf.free.fr/images/BCR2000_G.jpg

The notes may not fit in with other Haiku icons and could be removed. I kind of
like them though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-15 22:56:55 +00:00
Oliver Ruiz Dorantes
111d946099 - Patch by Michael Weirauch, Finally a deskbar addon for bluetooth
- Functionality to stop services, start preferences, and show debug console
- Cleanups in signatures

-This line, and those below, will be ignored--

M    headers/private/bluetooth/bluetoothserver_p.h
M    src/servers/bluetooth/BluetoothServer.h
A    src/servers/bluetooth/DeskbarReplicant.cpp
A    src/servers/bluetooth/DeskbarReplicant.h
M    src/servers/bluetooth/Jamfile
M    src/servers/bluetooth/BluetoothServer.cpp
M    src/preferences/bluetooth/BluetoothMain.cpp
M    src/preferences/bluetooth/Jamfile
M    src/preferences/bluetooth/defs.h
M    src/preferences/bluetooth/BluetoothWindow.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-10 15:12:51 +00:00