Commit Graph

3551 Commits

Author SHA1 Message Date
Clemens Zeidler
c732cb560d Reset the tab region when switching to a tab less look. At least partially fixes #7919.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-15 23:29:38 +00:00
Clemens Zeidler
f33cf3fd44 Activating all windows in a stack caused flickering. The reason to activate all windows was to get all windows form a stack into the upper window layers, otherwise it was possible that the top layer stack window is activated but another window in the stack is at the bottommost layer position. Sending this window to the back does not triggered sending the complete stack to the back. The send behind call is now redirected to the top most stack window to ensure the stack is send behind.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-13 22:59:47 +00:00
Clemens Zeidler
fcde9a3249 When stacking windows, move the new window to the parent position and size. Simplify the part in S&T that took care of it before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-10 01:49:00 +00:00
Clemens Zeidler
cd67c205ff Only remove a window from the S&T group when the hide event is not triggered by a minimize call.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-10 00:03:25 +00:00
Clemens Zeidler
e0bc3d9e2b * Remove the bad designed GroupCookie class and move its functionality into the WindowArea. As an result each WindowArea only has one set of tabs and constraints.
* Fix group splitting.
* Style: win -> parentWindow



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-09 22:55:20 +00:00
Axel Dörfler
98e30c67df * Fixed style violation (tab before '{' that Jérôme already mentioned), and
merged the two ifs.
* Automatic white space cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-08 21:11:03 +00:00
Adrien Destugues
ee298c8b81 * Fix DecoratorFrame() for kLeftTitledWindowLook windows
* Use it in notification window for better positionning.
Thanks augiedoggie for reporting the problem !


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42588 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-06 21:13:28 +00:00
Adrien Destugues
beb636036f Ensure the window is at the right position before showing it. Fixes #7011.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-06 10:41:45 +00:00
Adrien Destugues
9dcd41a8af Some tweakings to the notificationsystem to make it look more like a regular alert.
Feel free to improve on it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-06 09:05:55 +00:00
Clemens Zeidler
cdb351d4a4 When activating a window also bring all windows in the stack to the front layer. I used the ActivateWindow method because there is some magic involved when changing the layer position, utilising this method seems to be a safe way to do it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 22:35:27 +00:00
Clemens Zeidler
ac4853b49f When removing a window from the stack keep the mouse at the same tab position.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 22:31:42 +00:00
Clemens Zeidler
747d2bb6dc Ok, ok if we redrawn the complete visible region anyway we don't have to calculate any dirt.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 05:57:56 +00:00
Clemens Zeidler
38a8938d9f Only redraw visible region.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 05:53:26 +00:00
Clemens Zeidler
57e0263ceb Don't remove the window if there is only one window in the group. Fixes #7884.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 05:33:00 +00:00
Clemens Zeidler
01d68c9728 Disable S&T debug output and fix typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 23:51:30 +00:00
Clemens Zeidler
1c1415732d Move flags and look into the tab too. The flags are needed to determine e.g. whether or not the zoom button should be drawn.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 01:36:50 +00:00
Clemens Zeidler
c70bf97cfc Set the top most window look when switching between windows in a stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 22:42:57 +00:00
Clemens Zeidler
55fbf11fd7 If a window is hidden remove it from the S&T group. This happens when MediaPlayer goes fullscreen. Maybe not optimal but at least consistent with terminal which also left the S&T group in fullscreen mode. This is because the terminal has no decorator in fullscreen mode and thus can't be stacked any more (maybe this should be solved in the future...). Fixes #7895, #7896.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 22:27:12 +00:00
Clemens Zeidler
1c44bb2157 Check if the dirty region is valid. Part of #7896.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 22:20:12 +00:00
Clemens Zeidler
817f7d8003 Check if there is still a decorator. Fixes #7894.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 10:56:39 +00:00
Clemens Zeidler
27f5d57924 Fix coding style pointed out by Axel. Thanks for the array trick haven't known this one :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 06:46:11 +00:00
Clemens Zeidler
555ff46538 Check size limit of all stacked windows when resizing. Fixes #7893 thanks to diver (again).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 05:00:22 +00:00
Adrien Destugues
3eb02f08d9 Style fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42533 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 17:19:54 +00:00
Clemens Zeidler
7286c86c39 Disable group keyboard navigation for now. Don't start a S&T operation if the right button is down.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 10:50:37 +00:00
Clemens Zeidler
e089170a15 Fix the check for the max tab offset when there is only one tab.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 01:30:47 +00:00
Clemens Zeidler
bd545a2af2 Set the top layer tab when detaching a window from the stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 01:03:06 +00:00
Clemens Zeidler
2dae355ecb Fix window stack api and Desktop::WindowForClientLooperPort lock assert.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 00:56:23 +00:00
Adrien Destugues
e1ac525ddf * Don't eat alt+space if there is only one input method available (the shortcut is meant to switch input methods)
Makes it useable in applications and less confusing. Fixes #6468.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42521 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-31 14:45:55 +00:00
Clemens Zeidler
e4228c3760 Also make the right option key working as a S&T key.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-27 03:24:53 +00:00
Clemens Zeidler
6ce29ffc97 Remove some debug left over.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 23:38:42 +00:00
Clemens Zeidler
8313747b53 As done in move, resize only the top layer window. The top layer window resizes the lower windows separately.
Use auto locker.
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 23:18:28 +00:00
Clemens Zeidler
6a0ed7da53 Move S&T back into the app server.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 22:18:55 +00:00
Clemens Zeidler
b9bedde479 Assert the right lock, thanks Axel. Some clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 06:49:16 +00:00
Clemens Zeidler
4154a161ed Set the top tab every time when adding a new tab. This draws newly stacked tabs correctly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 06:34:34 +00:00
Clemens Zeidler
b7b6df07b8 When closing a window the window can't redraw the dirty region anymore. Mark the region of the remaining window dirty.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 06:15:41 +00:00
Clemens Zeidler
86b010824c * Draw the complete decorator off screen and copy it to the front when finished. Stippi please take a look. This fixes some flickering when drawing shifted tabs in stack mode. In stack mode the different tabs sometime repaint each other, thus the decorator has to been drawn double buffered to avoid artefacts.
* Add an option to draw the button directly, i.e. when they are clicked.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 05:53:35 +00:00
Clemens Zeidler
7c5525e834 Only allow windows with a normal thick border to S&T. Fixes #6647.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 04:37:27 +00:00
Clemens Zeidler
16aa61c46a Fix changing of the window feel and borderless windows.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 02:41:56 +00:00
Clemens Zeidler
898878314d Fix todo and only unload listener from the last add-on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 05:07:26 +00:00
Clemens Zeidler
f4f30311aa Cleanup app server directory a bit by creating a font and a decorator sub folder.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 04:31:54 +00:00
Clemens Zeidler
418f391fb1 Fixes #7796. The decorator add-on is unloaded when not needed anymore. Avoid assigning offscreen windows a window behaviour (which lives in an add-on). When loading another add-on the offscreen window was still pointing to an invalid window behaviour.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 03:32:14 +00:00
Clemens Zeidler
bb2e9b06ac Add multi tab support to the default decorator as discussed on the mailing list. Windows can be stacked on top of one another. All windows using the same decorator instance. This makes it easier to draw the stacked tabs and makes it possible to design more fancy looks for stacked windows. This also helps to fix some issues in S&T, e.g. when activating one window in a stacked group all windows have to be activated to ensure that all tabs are on top. This causes some flickering in tracker.
* Each Window has a reference counted WindowStack class which can be shared between stacked Windows. To keep the Decorator separated from Window there is another tab list in the Decorator now. The index of the stacked Window in the window stack is the same as the index of the tab in the Decorator. Properties like title or window focus are managed on a per tab basis now. This mean when you set the title in the Decorator you also have to specify the tab id which is equal to the window position in the stack.

* When drawing the decorator its important that only the top window is doing the drawing. Also the top window drawing engine should be used.
Actually that is only a problem directly after a window is stacked and the other window has still a none empty dirty region. In this case we clear the dirty region of this window and stop the drawing (the top window will draw everything).

* Track if shifting of a tab is still ongoing, i.e. mouse still down.

* The key event filter called the DesktopListener without holding the window write lock. This probably caused #7801 and #7796.

* Commented out assert's in Window::SetScreen and Window::Screen. Add TODO because I'm not sure about the screen access.

This breaks all existing decorators again, sorry guys! Haven't looked into any other then the default decorator (and the SAT decorator). Will not fix the others in the near future so go for it! Since applications should be able to rely on S&T features the other decorator must be able to handle multiple tabs as well. A simple solution would be to draw all title bars in multiple rows. That probably looks quit poorly. Think the better solution would be to draw a tab interface in the title bar, e.g. like in KDE.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 01:09:26 +00:00
Clemens Zeidler
5b1742af27 Remove another assert that fails. In this case the access from ServerApp is fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 00:11:33 +00:00
Clemens Zeidler
d5314ec095 * It helps a lot to find thread problems when the multi locker assert macros actually doing something useful. Took me forever to finally realise that and to find a threading bug.
* Remove a superfluously assert which sends the app server into the debugger. More fixes following.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 10:50:33 +00:00
Rene Gollent
9918b71672 - Factor out setting up the arguments for gdb handover.
- When using the graphical debugger by default, fall back
  to setting up gdb handover if the GUI is unavailable.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42446 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 16:55:28 +00:00
Rene Gollent
de6f745cde Add support for conditionally compiling the debug_server to hand off crashed
teams to the native debugger instead. This assumes the latter is installed
in /boot/system/apps.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-17 15:26:56 +00:00
Clemens Zeidler
f9b2ba2b84 Patch by taos. Adds missing localization to Mail status window + cosmetic changes in Mail
preflet. Replacing B_TRANSLATE with B_TRANSLATE_COMMENT to better discern "never" and 
"Never".



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-14 20:31:12 +00:00
Clemens Zeidler
b91ddd8116 * Make the magnetic border code more accessible by moving the code into a separate class and use it in a new protected WindowBehaviour method.
* Simplify the algorithm a bit, no functional changes are intended.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 21:04:55 +00:00
Clemens Zeidler
83c3aba207 More localization support by taos, thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-29 22:37:44 +00:00
Clemens Zeidler
c30f4641fa Be more clean and use a auto lock, thanks Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-29 22:00:00 +00:00
Clemens Zeidler
2483cfd8b7 Patch by taos. Fix mail daemon signature. Thanks! This probably break the HTA entry... Is there a special reason why the signature is x-vnd.Be-POST? x-vnd.Haiku-mail_daemon sounds better to me.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-28 23:48:00 +00:00
Clemens Zeidler
ccc37bbb77 Don't forget to unlock when there is no desktop listener for the message.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-25 02:46:15 +00:00
Clemens Zeidler
8a26696cbf Patch by mt who also puts the Japanese mail translation into HTA. Thanks! Closes #7689.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-23 19:59:00 +00:00
Michael Lotz
b617e8daff A blast from the past: r15048 from way back removed the wrong boolean parameter
causing the message to be sent with a timeout of "true" (getting converted to 1)
instead of the intended 0 meaning no/infinite timeout. This caused the message
sending to be aborted due to the timeout if it was blocking on a full port for
example. Since the return value is never checked noone noticed.
It's possible that this was the cause of some lost input messages (mouse,
keyboard) when the system was under heavy enough load for either the port heap
to be exhausted (unlikely) or the input_server <-> app_server port to run full
(quite possible).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-20 22:24:36 +00:00
Clemens Zeidler
c26c18e489 Apply a nice patch from Taos, thanks!
Localize the mail server and preferences. Get rid of MDRLanguage.h.
The Japanese translation is attached to #7689. Please give a notice when it is in the translation system and the ticket can be closed.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-20 21:15:27 +00:00
Jérôme Duval
e53da92708 Part of patch from #6840:
* GCC 4.5 complains about switchs with cases not part of the window_look enum (see WindowPrivate.h).
* To keep them private, cast the enum to int before use in switchs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-19 18:13:21 +00:00
Stephan Aßmus
b46615c55a Applied patch by Joseph "looncraz" Groover from ticket #7445.
This changes how Decorators are managed and applied. The app_server
no longer scans and maintains the available ones himself, but is
simply asked to load a Decorator add-on from a provided path.
The Decorator scanning is moved into DecorInfo and DecorInfoUtil,
private classes in the InterfaceKit. The bin command 'setdecor'
uses those.
I cleaned up all the coding style violations that I could find,
removed chunks of code which didn't make sense (if you never put
a NULL pointer into a list, you don't need to check for this and
so on) and also cleaned up other passages for improved clarity
and simplicity.
I also tested the functionality and it works fine. Would even be
Ok to include in Alpha 3, IMHO. Thanks for the patch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-19 15:25:54 +00:00
Philippe Houdoin
b6ba1daaac There is no point trying to request back from DHCP a link-local
auto-configured address...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 16:00:18 +00:00
Axel Dörfler
10dfe8970c * Really, there is absolutely no need to pass the default argument to an
optional parameter...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:03:15 +00:00
Rene Gollent
8a9d5e34fe Patch by Atis Elsts from GSoC 2010 that was overlooked.
- Adds IPv6 fragmentation support and some partial work to enable configuration of IPv6 in net_server. Not currently in the build.
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-28 22:07:39 +00:00
Philippe Houdoin
0892800f69 Implemented INIT-REBOOT DHCP state: as required per DHCP specs,
we now request the last address we got from DHCP server, and only on failure
we fallback on the whole INIT state (discover, collect offer, etc).
This should fix people losing their IP address at each renewal, or far worse,
after the link goes up again.
Closed #7346.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-27 15:04:55 +00:00
Philippe Houdoin
e65843e8c9 Revert files that were commit by mistake in previous commit. Sorry.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-23 01:56:02 +00:00
Philippe Houdoin
9ff5266f3a Avoid deadlock.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-23 01:52:16 +00:00
Philippe Houdoin
302a7082ba Quit AutoconfigLooper when switching to static configuration.
Before, DHCP will still run after a link down & up event, which could 
leads to break the user-defined static configuration.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-23 01:02:02 +00:00
Philippe Houdoin
84fdf2c3ca Made _AddressToString() static methods.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41276 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-23 00:48:11 +00:00
Philippe Houdoin
03f6ab7fd1 Add dhcp_message::FindOption(), to retrieve a specific option.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41275 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-22 21:52:15 +00:00
Philippe Houdoin
6d5ad15714 Check node monitoring messages to handle them only when it make sense.
Before, the "interfaces" settings file creation/removal notification was 
leading to a attempt to configure/remove an interface named 
"/boot/common/settings/network/interfaces"!
Could help fixing issue #7475.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41274 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-22 21:33:43 +00:00
Philippe Houdoin
d09c1f8e8d Made message retransmission delay +1/-1 randomized as required per RFC2131
spec (see paragraph 4.1)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-22 20:45:34 +00:00
Axel Dörfler
18ebc7918d * Temporary commit to be able to test new focus behaviour, see #7280.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41264 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-18 20:15:46 +00:00
Jonas Sundström
1c09002cbe Set the exclusive launch flag on servers, daemons, Tracker and Deskbar.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-11 12:23:51 +00:00
Jonas Sundström
3252a2a09d Remove old debugging output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-07 12:09:57 +00:00
Clemens Zeidler
08606d49da Add settings to enable and disable in and outgoing mail accounts.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41077 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-22 10:28:22 +00:00
Clemens Zeidler
a1f765fb1a Create an index for MAIL:account_id. If you using POP3 update to this revision! POP3 queries for this attribute and if no mails are found with this id it will delete the missing mails on the server (if the option is ticked).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-21 20:02:48 +00:00
Clemens Zeidler
a64bd5649d Write MAIL:name, MAIL:thread and MAIL:account attribute. The account id is now stored in MAIL:account_id. This requires to re-download all mails to write the correct attribute (sorry).
Fixes #7375.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-21 09:13:12 +00:00
Clemens Zeidler
37f85698cf - Fix race condition when start watching a mailbox and directly afterwards stop watching it. A BLooper was not suitable to synchronise start and stop watching. Wait till the IDLE command is send before returning the SyncAndStartWatchingMailbox method now. That ensures that a later StopWatchingMailbox call find the maibox in an expected watching state.
There is one thread (BLooper) to handle new commands and one watcher thread which is just listening at the server port for updates. The race condition occurred for example when a sync/watching and a fetch body message are send to the looper. The sync message just triggered the IDLE command in the watcher thread. In the meantime the fetch body command send a DONE command, because the IDLE command has not be send at this time the watcher keeps watching. 

- fix int32 -> ssize_t thanks Axel and Stippi
- clean up



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-11 20:13:54 +00:00
Stephan Aßmus
1d1031cf27 Duh, of course fStyle can be NULL in SetStyle(), which is for example
called from the constructors...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40885 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 21:47:57 +00:00
Stephan Aßmus
663738e98e The whole file assumes fStyle cannot be NULL, and it can't be NULL unless there is
no default font at all, in which case we have more serious worries. CID 1559.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 21:36:35 +00:00
Stephan Aßmus
87911f6c6e fClippingRegion cannot be NULL at this point (or at least is not supposed to be). CID 3167.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 21:26:17 +00:00
Stephan Aßmus
de68adf69b Secure coding, sprintf->snprintf. CID 6321.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 20:59:00 +00:00
Stephan Aßmus
f1aceeca70 Initialize hash_link. I don't think it could be used uninitialized, but it never hurts...
CID 9468.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 20:55:01 +00:00
Stephan Aßmus
54fff0c456 Fixed resource leak in error code path. CID 5888.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-08 20:48:09 +00:00
Jonas Sundström
82e7ef6709 Add app filename localization catalog entry support to BAppFileInfo, registrar and mimeset. Need help to understand why the build-version of UpdateMimeInfoThread.cpp does not compile with the added code, currently commented out. Sorry about the arbitrary B_MIME_TYPE_LENGTH*3. Advice and review welcome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-07 15:14:46 +00:00
Clemens Zeidler
b0acdd1578 Remove some code that pretty much looks like some legacy code to add additional attributes to a running system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-03 21:42:29 +00:00
Clemens Zeidler
b8d2bbd616 - Partial downloaded messages are now opened by Mail and not by the mail daemon. Mail request the body fetch and get notified when the daemon is done. During this time the Mail window title is showing "Downloading: subject". This fixes #7256.
- Some cleanup in Mail.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-03 09:05:04 +00:00
Clemens Zeidler
c38ff3e36c Remove unused files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-28 21:26:23 +00:00
Siarzhuk Zharski
c4489236c7 Additional and hopefully final fix for #7281 "Shutdown is not localized".
PS: Yes, I'm not brave enough to change the character case in the signature for 
one of the most significant servers in the system ;-)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40733 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-27 22:38:02 +00:00
Jonas Sundström
9f0f6fcd99 Fix mixed up button labels.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40694 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-26 05:57:46 +00:00
Philippe Houdoin
ea56573776 Localized Shutdown process.
Closes #7281.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-25 13:16:04 +00:00
Stephan Aßmus
4153964a10 Moved IconUtils.h to Interface Kit and therefor made it an "official" header. Since the class has no
virtual but only static methods, it is not so likely that binary compatibility issues may arrise
from using it in new apps. Adjusted all the Jamfiles that included the private libicon headers. Note
that it was never necessary to link against libicon.a, since it's part of libbe anyway. There was one
instance where that was done. Hopefully it does not break the build, but I did this change a while ago,
tested it and then the harddrive began failing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-25 09:12:38 +00:00
Stephan Aßmus
581144ea46 fLastSnapTime was never initialized, which may have prevented
snapping to work.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-23 11:36:26 +00:00
Stephan Aßmus
cbaa4d3143 Initialize all members. They don't seem to be used, but this can avoid future
use in derived classes without enforced code paths... (CID 10252).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-23 11:29:26 +00:00
Jonas Sundström
46f4e9db27 Useless type qualifier on return type. CID 5666.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-23 04:38:57 +00:00
Jonas Sundström
93e53019bf Missing InitCheck. Error checking stale status variable. CID 2962.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-23 04:35:37 +00:00
Clemens Zeidler
7398688a5e IMAP commands are serialized using the BLooper message queue. MarkMessageAsRead used the direct way to access the protocol and so interfered with ongoing requests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-22 00:42:02 +00:00
Clemens Zeidler
f191a57149 - Change the new mail query to search for the MAIL:read attribute.
- The deskbar status query is looking for MAIL:read values equal to B_UNREAD now. This has the effect that in manual mark as read mode also unseen messages are counted as read messages. In this way the deskbar shows the full mailbox icon only for really new messages.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-21 10:01:39 +00:00
Clemens Zeidler
9967dfd924 - Extend MarkMailAsRead to take a flag not only a bool value. Write an additional MAIL:read attribute.
- Remove some hard coded paths.
- Catch failure of FindMessage correctly. Thanks Axel.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-21 07:24:29 +00:00
Clemens Zeidler
0e657c0b6c Remember tracker message when downloading a partial message and open it with Mail. This is needed to get the next/previous message after downloading the body.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40575 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-20 07:55:47 +00:00
Clemens Zeidler
df317863c8 Fix regression spotted by Humdinger. Try to open the entry in settings/Mail/mailbox first.
Add some more info to the self made query, not perfect yet.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-20 06:08:26 +00:00
Clemens Zeidler
20a1f87af2 Open the new query window when clicking the deskbar mail icon. The mails/in folder is not a valid folder in any case and if you have a lot of mails it takes for ever to display all mail in tracker.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40571 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-20 04:14:48 +00:00
Siarzhuk Zharski
70a1f34934 The "usage" field of property_info should not be localized.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-19 23:06:25 +00:00
Axel Dörfler
ddf57b6cf6 * Reverted back to the original version of BNetworkAddress::SetAddress();
in_addr_t is now in network endian again. Thanks, Philippe!
* Made SetToLoopback(), and SetToLocal() a bit more useful (although the latter
  isn't implemented yet).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-18 21:09:21 +00:00
Siarzhuk Zharski
7729a8c8f7 Applied yet another localization patch made by Jorma Karvonen.
Fixes #7151. Thanks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-17 20:01:28 +00:00
Siarzhuk Zharski
720020e0b9 Applied yet another localization patch made by Jorma Karvonen.
Fixes #7005. Thanks.
Exclusions:
- localization of "usage" field of BPropertyInfo rejected - looks like
  it is not displayed to user;
- localization of Sound Event names discarded. The situation is at least
  questionable and should be discussed.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-17 19:00:48 +00:00
Philippe Houdoin
cefe2a40f7 * Revert the revert: my local BNetworkAddress::SetAddress(in_addr_t)
was not up-to-date, which leads to a broken fix. Sorry about that.
* Move the details logs to LOG_DEBUG to keep LOG_INFO small.
* Rollback to OPTION_SERVER_ADDRESS, too. Either all options should be
renamed after RFC option names or, as said by axel,
they're named to be understandable, which it was already.

Now, a coffee, please.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40519 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-15 19:58:00 +00:00
Philippe Houdoin
69b5cacbad * BNetworkAddress::SetAddress(in_addr_t) expect a network order value:
revert r40492.
* For semantic sake, use ntoh*() macros to convert data coming from network,
not the hton*() variants, even if the end result is the same.
* Clean and add more details to DHCP syslog messages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-15 18:29:58 +00:00
Clemens Zeidler
df0ad9c12a Fix account name in mail.
Work in progress: fetch next partial downloaded message.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-15 02:19:49 +00:00
Axel Dörfler
669afb5012 * This should make DHCP work again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-14 17:36:44 +00:00
Philippe Houdoin
3db9c51d0f Adds support for read or write-only midi devices entries.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-10 13:19:22 +00:00
Clemens Zeidler
1af4fa4ba6 Major restructuring of the mail server:
Accounts are now stored in a separate file. Previously they where somehow magically assembled from the chain ids. Now its possible to remove a account temporary by removing the account file form the account folder.

Each account could have an inbound protocol, an outbound protocol and some filters.

Mails are now associated with an account and not with a chain. This required to replace the chain id attribute by an account attribute.

Replace BMailFilter and BMailChain by a less general approach. Basically the chain had a list of filters and call the ProcessMailMessage for each filter. This made it sometime difficult to understand what is going on, e.g. sometimes a filter used information gathered by another filters. The new MailProtocol and MailFilter classes are calling more dedicated hook functions, e.g. HeaderFetched or MessageReadyToSend.

As before all MailProtocol's (plus their filters) are running in their own thread.

Cleaned up the error and status window a bit. Abstracted the interface to these windows. Should be easy to write a BNotification api back-end now.

Parsing of mail headers is much faster now. Fetching the headers of a large mailbox takes ~min and not ~hour now! Initial checkout time is in the same order like Opera. The problem was the massive use of fgets in parse_header (mail_util.cpp) now the complete header is read in one go. Furthermore, only interesting fields are extracted.

Remove some unused files, BeOS relicts... Feel free to translate the mail server and remove the own language system (headers/private/mail/MDRLanguage.h).

Sorry for the remaining old (and new) coding style issues, sometime just ignore them, to many :(



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-09 01:49:01 +00:00
Stephan Aßmus
17925a3529 * The app_server leaked the BGradient objects on each drawing operation
related to gradients. This was for example very noticeable when running
   MediaPlayer which redraws the slider a lot. With three movies running,
   app_server would leak at about 100KiB per second.
Might be related to #7071 or even fix it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-06 10:25:06 +00:00
Jérôme Duval
c9f72f4333 Applied patch from stimut (#6353), thanks!
In ServerWindow::_DispatchViewDrawingMessage(), for AS_DRAW_STRING_WITH_OFFSETS,
the string length rather than the number of UTF8 glyphs is used, thus leading
to an app_server crash.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40310 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-28 19:34:37 +00:00
Oliver Tappe
915a7b8c24 Make BObjectList<> publically available:
* cleaned up ObjectList.h
* switched several uses of new() to new(std::nothrow)
* moved ugly AsBList() hack into BObjectList<>::Private class and
  adjusted all callers accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-20 12:09:16 +00:00
Philippe Houdoin
26119abd20 Port value in servent struct is in network byte order.
This was making net_server listening wrong service port. Telnet & FTP
works again in non stand-alone mode.
This close #7108.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-17 17:50:31 +00:00
Alex Wilson
6420e23bca Patch by Hamish Morrison in bluetooth server: simplify code in the bluetooth console 'Output' class.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40237 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-15 06:36:18 +00:00
Alex Wilson
983dbb974b Patch by Hamish Morrison as part of GCI. Refactor Bluetooth server output window gui code to use the Layout API. One small change by me as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-11 18:09:19 +00:00
Oliver Tappe
afd785cf43 * fix build of app-server in debug mode - thanks to Timothy Brown
(stimut) for the hint that it was broken

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-10 13:37:45 +00:00
Michael Lotz
427427bc82 Create uncached glyphs on demand instead of checking glyph availability upfront.
This safes a HasGlyphs() call which would convert the whole string to glyph
codes and look each of the glyphs up in the cache entry, just to do the same
again during the loop where they are actually used. Instead we now simply switch
to the write lock and look up the fallback entry when hitting the first uncached
glyph. This benefits the normal case of having all glyphs cached without any
drawbacks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-09 21:24:09 +00:00
Michael Lotz
5c89315772 Implement missing glyph handling, making the glyph retrieval the following:
1. If the glyph is cached, return it, as before.
2. Try to find a glyph in the fallback font, as before.
3. Check for ignorable characters as per Unicode and cache and return a zero
   width glyph (rendering as completely invisible).
4. Reset to the original font.
5. Check for whitespace as per Unicode and cache and return the normal space
   glyph.
6. If there still is no valid glyphIndex, continue with index 0 which caches
   and returns the usual "missing glyph box".

This implements the Unicode suggestions on how to handle missing glyphs and
closes #7077.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-09 04:10:13 +00:00
Michael Lotz
2004d8c100 LayoutGlyphs() was broken in various ways when encountering missing glyphs:
* The code used continue to restart the loop when encountering a missing glyph,
  but in that case the index wouldn't be incremented, meaning the consumers
  would received the same index for ConsumeEmptyGlphy() and ConsumeGlyph() and
  at the end there was not necessarily a call for every index, resulting in
  uninitialized array elements for GetHasGlyphs, GetEdges, GetEscapements and
  GetBoundingBoxes.
* Since the advance values were not reset in case of a missing glyph but still
  added for the next char, the coordinates the consumers would get were advanced
  by the advance values of the glyph preceeding the missing glyph(s). This made
  StringWidth return wrong widths.
* The loop end condition was skipped by the continue as well, which would have
  resulted in overruns when there were problematic chars at the end of a string.

Fixes #7075 where the uninitialized array elements caused random truncation
errors. The problematic character in this case is a tab, that has no glyph as
it is a dynamic spacer. Previously this was resolved to the "missing glyph"
(the box) which had a width.

I find it highly problematic not to fall back to such a glyph, because there is
no real way to see that you're using a font that has missing glyphs. Instead
those are simply collapsed to nothing with this change (instead of being
random). This whole problem is only brought up by not guaranteeing that there
always is a glyph as was the case before where a missing glyph was replaced by
the box.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-08 23:17:18 +00:00
Rene Gollent
5c9b247667 The cmd+` shortcut wasn't taking into account if the user was currently holding a
window with the mouse, and as such didn't take it along to the new workspace
as the cmd+F# shortcuts do. Fixes #7057.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40070 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-02 16:04:15 +00:00
Ingo Weinhold
7e36984164 Removed Humdinger's resize mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-02 00:29:17 +00:00
Michael Lotz
c3dab48ba4 Add a way to cancel a started message.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-29 08:30:25 +00:00
Michael Lotz
49e57f098a Add support for the screen offset and scale to remote shape drawing. This brings
back scrollbar icons and menu markers for example after they got broken when
the offset was introduced.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-29 08:19:59 +00:00
Michael Lotz
7162595e84 Implement a new RP_DRAW_BITMAP_RECTS which splits up bitmaps to be sent into the
relevant parts (i.e. removes clipped or out of bounds parts) and does local
scaling in case the view rect is smaller than the bitmap rect. This avoids
sending the full blown bitmaps across when they are in the end scaled to a much
smaller representation. It's nowhere near perfect yet, but it's useable and
improves the network traffic heaviness quite a bit depending on the application.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-29 07:03:03 +00:00
Michael Lotz
8e164a0fe2 Add way to add a "minimal" bitmap without colorspace/flags for adding multiple
similar bitmaps.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 22:17:28 +00:00
Michael Lotz
645e9fe135 Cleanup which should've been part of r39972.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40002 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 22:12:13 +00:00
Michael Lotz
1c3680d302 Allow creating a BitmapDrawingEngine with a specific colorspace.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 22:08:46 +00:00
Michael Pfeiffer
737e45854e * As pointed out by Rene the buffer size in snprintf
includes the 0-terminator.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 21:24:58 +00:00
Michael Pfeiffer
fdee209b00 * CID 10260: member variable fIconSize was not initialized
in error case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39994 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 21:14:25 +00:00
Michael Pfeiffer
a17b8132ed * CID 10260: member variable fDefaultPrinter was not
initialized in constructor in error case


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39993 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 21:12:17 +00:00
Michael Pfeiffer
e923359460 * CID 7969: defensive programming: use snprintf instead of sprintf.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39992 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 21:06:29 +00:00
Michael Lotz
5c3457dd22 CID 7961: Use snprintf with proper sizes to make sure nothing overflows.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39986 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 16:52:29 +00:00
Michael Lotz
edcbc5b0e3 CID 5889: The bytes array was leaked.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39985 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 16:44:24 +00:00
Michael Lotz
5327be44ec Remove unused members. Also resolves CID 10230 that complained about them not
being initialized.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 16:22:29 +00:00
Michael Lotz
aa8219391f Someone forgot to initialize fUpdate15 and fColor15 when adding 15bit color
support some 7 years ago...
CID 10246, 10245, 10244, 9471, 9454 and 9453 all concerning that (in the
different constructors / assignements).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 15:59:07 +00:00
Michael Lotz
8e165582f1 CID 10229: fDraggingMessage was not initialized, potentially sending out drag
messages where there shouldn't have been any.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 13:04:43 +00:00
Michael Lotz
d65593aaa3 CID 1420: fTargetScreen was leaked.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39979 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 12:59:14 +00:00
Michael Lotz
673481f371 CID 2502: Check the FindMessage return which also safes a needless FindRect call
in the error case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 12:55:19 +00:00
Michael Lotz
951366c59d CID 10231: Remove unused fInputPort member and initilize fShutdownCount, even
though it's used only in the special case of running as BApplication.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 12:47:22 +00:00
Fredrik Holmqvist
2f32c12f37 Delete the array after deleting the items in the array. CID 2980.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 10:46:42 +00:00
Michael Lotz
56c393e396 Cleanup, no functional change intended. Style, line length, early returns,
variable names, added TODO, variable declaration on first use, simplify some
code, add missing sanity checks...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 02:05:35 +00:00
Michael Lotz
25702ce874 * Use std::nothrow and check the bitmap/cursor allocations.
* CID 2500 and 2501: Check the BMessage::FindData() returns.
* Defensive programming: Take the bitmap/cursor BitsLength() into account when
  copying the data back.
* Some style cleanup, automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 01:19:47 +00:00
Michael Lotz
83e36298a5 CID 2977: Use the array delete operator.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 01:00:27 +00:00
Michael Lotz
174a961e22 CID 5885: Resource leak in error case.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39969 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-28 00:55:17 +00:00
Michael Lotz
5377c49be4 CID 4383 and 4384: Fix wrong checks of index values against kMaxWorkspaces that
could otherwise lead to out of bound access.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-24 02:20:33 +00:00
Michael Lotz
2e3c20430a CID 4091: fTabOffset is unsigned so the < 0 comparison makes no sense.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39932 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-24 02:08:54 +00:00
Michael Lotz
95e95fee39 * CID 10247: Initialize those two members. Didn't do any harm since they depend
on a set view bitmap and are set when setting one.
* We can safe that resize_frame() call in case no view bitmap is set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39931 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-24 01:40:36 +00:00
Michael Lotz
3b1679f9c5 * CID 8120: The size supplied to the attach call was the one of the pointer, so
the data was never correctly attached.
* CID 5886 and 5887: escapements and offsets were not freed in the error case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-24 01:13:28 +00:00
Michael Lotz
e910a0a3b7 CID 4186: The glyph_index is unsigned, so a >= 0 comparison is always true. The
"empty glyph index" as per freetype (which is eventually called) actually is 0,
so a != 0 comparison should be correct. Untested though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-24 00:58:57 +00:00
Philippe Houdoin
7dd47a9be5 Fix off by one iconRect sizes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39914 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-21 10:12:34 +00:00