Commit Graph

3551 Commits

Author SHA1 Message Date
Fredrik Holmqvist
7ca2da76f0 rand() is used, but srand() was never called. 2012-05-18 00:01:12 +02:00
Axel Dörfler
8e2140fa5e Fixed a large client side memory leak for app_server memory.
* The areas allocated for BBitmaps were never deleted, even though the
  app_server deleted its part when the memory got freed.
* This resulted in a constant memory increase if the application in question
  would operate on many changing large bitmaps, like photos.
* Since the bitmaps are reference counted, we don't actually know when to delete
  the areas, so that the app_server now notifies the client whenever that is
  possible.
* This might fix #6824.
2012-04-29 20:26:14 +02:00
Axel Dörfler
7705d517d1 Lock in ClientMemoryAllocator::Allocate(), and Free().
* Since bitmaps are reference counted, it might not be easy (and already not
  the case) that holding the ServerApp lock can be enforced.
* To be on the safe side, allocations and freeing memory now performs its own
  locking.
* Brought the documentation to the status quo.
2012-04-29 20:26:13 +02:00
Axel Dörfler
6068e43923 Optimized freeing client memory if it spans the whole area.
* If a block of client memory spans the whole chunk, there is no need to walk
  the free list for adjacent blocks to join.
* Minor cleanup.
2012-04-28 23:35:17 +02:00
Rene Gollent
03b82a629d Fix decorator reload crash.
- SetTopTap() -> SetTopTab().
- When reloading the decor, if the window in question is borderless,
  short circuit. Previously, we wouldn't allocate a decorator for such
  a window, but would then go through the remaining steps of attempting
  to set the focus/top tab, which would obviously crash. Fixes #8500 and
  possibly others.
- Add error check that adding tabs to the decorator actually succeeded.
2012-04-28 16:21:19 -04:00
Oliver Tappe
546208a539 More catalog-related cleanup.
* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
  B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.
2012-04-16 21:31:22 +02:00
François Revol
3f551e5c43 Expose the connected status
* Since we won't always have a client, expose the connected status from the HWInterface to other classes.
Currently only used to simulate DPMS state.
* Cleanup.
2012-04-13 01:26:46 +02:00
Rene Gollent
56981da008 Fix slight oversight in previous commit.
Only trigger autoconfiguration if the link status changed from down
to up.
2012-04-11 18:31:44 -04:00
Rene Gollent
9cac658a9f Keep more accurate track of media status changes.
AutoConfigLooper now remembers the last media state it received from the device,
and compares both to see if the active state actually changed. Should help with
quality changes where the link didn't actually drop. May also help on ethernet
if the chipset sends spurious link status change notifications.
2012-04-11 18:27:20 -04:00
John Scipione
3cee15aac2 Keymap changes from recent activity. No AltGr yet.
Below is a mostly complete summary of the changes in this commit.

* Set the DeadKeys for the US-International Keymap to use the Option map.
* Rename American keymap to US
* Update the US, US-International, and United-Kingdom keymaps to take
  out unneeded spaces in the option layer. Also updated the dead keys
  and some other keys on the US-International keyboard to use UTF-8
  characters rather than there ASCII equivalents when different.
* Make the Option key fall-through when there is no mapping in the Option
  table. Option is for special characters, if none, print the regular one.
  This is mostly meant for the US keymap which has an empty option map. But
  also so that you don't have to repeat the normal, shift, and caps maps in
  the option map needlessly. Although the keymaps are still not empty in
  some cases that it could be like numpad keys and space.
* Update the /bin/keymap app to use fputs() instead of printf() when there
  is no actual formatting taking place. I've gotten into trouble for doing
  this before and it is faster to not process the string unnecessarily.
* Also several 80-char limit style fixes and updated comments.
* In Keymap class Reorder the modifier keys to match the keymap files.
  Put B_CONTROL_KEY check above B_OPTION_KEY. Neither change has any effect,
  they are purely aesthetic.
* Update DumpKeymap() method to use the abbreviated modifier letters so it
  will fit in your 80-char wide terminal.
* Tiny style fix in InputServer
* 80-char limit style fix in BWindow and add a comment that the shortcut
  gets eaten in the case of Cmd+Q
* Implement IndexForModifier() in KeyboardLayout, although I am not using it.
* Take Caps Lock out of the Modifier keys window because I couldn't get
  it to work the way I wanted it to.
* Move key roles to the left column, and the key label on the left. Add column
  header labels. Thanks Rimas!
* Add validation and improve marking menu options. Add a 'Disabled' option
  to control, option, and command menus to disable the key. Make the key
  role text grey if the key roles is disabled. Validation ensures that you
  cannot repeat the same key twice in the Modifier keys window since that
  won't work. You can't define 2 sets of option keys even if you really want
  to. You can disable your control, option, and command keys if you
  want, but that is not recommended.
* Rename kUpdateModifiers to kUpdateModifierKeys message to differetiate
  it from kUpdateModifier.
* Add shift key to Modifier keys window, use the stop icon instead of the
  warning icon to indicate conflicts.
* Allow the Layout system to control the size of the Modifier keys window
  again, set the width's of the key role lables to the widest, set the width
  of the menu fields to take up the rest of the space minus room for the
  conflict views. I didn't like it that the Modifier keys window would change
  size based on what options you had selected in the menu fields. Now it
  doesn't, but, the layout system still makes it all fit.
2012-04-06 02:42:54 -04:00
François Revol
e1b41a1a8c Add base64 decoding helpers to read ints
Some helper functions to read uint8, uint16 and uint32 (actually int32 it seems...).
Note the value is effectively read as big-endian.
2012-04-02 00:47:16 +02:00
François Revol
c001665a7c Add a packed argument to encode_base64.
Reintroduced the '=' padding modulo 3 characters from the original code from the mail kit,
and a packed option to avoid it.
Broadway uses this packed scheme to save bytes when sending many separate values.
TODO: merge this with the mail kit one somewhere?
2012-04-02 00:47:16 +02:00
Alex Wilson
91b523054f Resolve TODO about possible use after free bug. 2012-04-01 11:54:25 +12:00
Alex Wilson
3c7caf81db Fix a bug that caused some NotificationViews to be double-shown.
This bug affected views added while the window was hidden, and would
result in that view not being hidden when the group was collapsed for
the first time.
2012-04-01 11:54:24 +12:00
Alex Wilson
c2fbfb1d58 Don't hardcode the NotificationView width to 300px. 2012-04-01 11:54:23 +12:00
Alex Wilson
2fab0e4804 Remove dead code in NotificationView.cpp 2012-04-01 11:54:23 +12:00
Alex Wilson
ac93328eb9 Have NotificationWindow enforce the window size setting. 2012-04-01 11:54:22 +12:00
Alex Wilson
d19e651f97 Expand click rects when checking for close/collapse clicks. 2012-04-01 11:54:21 +12:00
Alex Wilson
710eb7410f Clean up use of SetPosition().
This fixes a bug where an empty white window would appear when changing
workspaces if there were no notifications.
2012-04-01 11:54:20 +12:00
Alex Wilson
259ffc0252 Style cleanup in notification_server: #includes 2012-04-01 11:54:19 +12:00
Alex Wilson
617ee9eef6 be_control_look is never NULL, so we don't need backup drawing code. 2012-04-01 11:54:18 +12:00
Alex Wilson
fd3e582189 Fix bug in NotificationWindow where the window would be double hidden.
Also simplify and rename _ResizeAll(), now that AppGroupViews remove
themselves.
2012-04-01 11:54:17 +12:00
Alex Wilson
002fd626d6 Fix NotificationWindow's collapsing bug. (#8288)
When a BTwoDimensionalLayout has no visible elements, it has a max size
of B_SIZE_UNLIMITED in both dimensions. In this case, we want it to
shrink down to just the insets.
2012-04-01 11:54:16 +12:00
Alex Wilson
8090bd4a30 Add a TODO about a possible use after free bug. 2012-04-01 11:54:15 +12:00
Alex Wilson
80f96f761c In NotificationWindow, have AppGroupViews get deleted upon expiry.
I.e. once there are no more notifications in the AppGroupView, we get
the NotificationWindow to delete it. As a result of this change, we no
longer need the AppGroupView.cpp _ResizeViews() method.
2012-04-01 11:54:14 +12:00
Alex Wilson
cbdd108a09 In NotificationWindow, delete AppGroupViews when closed.
This is preferable to having them kick around for as long as the server
is running. They don't yet close when all of the notifications for the
view time out, that's coming next.
2012-04-01 11:54:13 +12:00
François Revol
8d33dc2971 An html5 <canvas> based drawing engine
This implements an html5 rendering engine.
Inspired by the Broadway GDK backend for Gnome.
Work in progress. For now it just connects and dumps debug output.
2012-04-01 11:04:41 +02:00
François Revol
28b813df23 Move callbackFunction type declaration into the class to avoid a name clash with future code. 2012-03-31 16:12:17 +02:00
François Revol
6371cd4dea Fix uninitialized warning. 2012-03-31 16:12:17 +02:00
Jérôme Duval
362efe0c9f freetype: builds against the 2.4.6 optional package.
* added optional feature package for freetype 2.4.6 gcc4/gcc2 x86 and gcc4 ppc.
* FT_CONFIG_OPTION_SUBPIXEL_RENDERING is disabled, --include-patented-code doesn't
  change this setting anymore. This would require different packages.
* drop freetype sources and headers from the tree.
* fix decorators, test app server and appearance to use feature package headers.
* hybrid build untested.
2012-03-17 20:37:00 +01:00
Stephan Aßmus
a0e9f8e205 Fixed wrong assert and locking when using Workspace objects.
* The assert in the Workspace constructor was definitely for the
  wrong lock. One should be holding the all window lock either
  in read or write mode. The Desktop message loop lock should be
  unrelated.
* Added boolean to the constructor which controls the assert.
* Added documentation to Workspace class, since it's not at
  all obvious how this is intended to be used.
* Fixed ServerApp to lock the Desktop correctly when using
  Workspace desktop colors.
2012-03-04 14:32:07 +01:00
Jerome Duval
5c6b9eb00d Some fixes for GCC 4.6 warning: variable set but not used 2012-02-23 20:32:13 +01:00
czeidler
b22f58132d Fix crash in S&T. 2012-02-15 08:54:02 +13:00
Alexander von Gluck IV
d2b09eeb7f net server: Remove un-needed braces. Look for network stack vs ipv4 2012-02-10 09:58:40 -06:00
Alexander von Gluck IV
94c264db3a net server: IPv6, there is no place like ::1
* Add new function to check for protocol support
* If IPv6 support is present assign ::1 to loopback
* ping6 ::1 functions 100%
* Still some route strangeness with link local addresses
2012-02-09 14:49:58 -06:00
Alexander von Gluck IV
990a3ef3ea net server: IPv6, look at nic flags vs name for loop 2012-02-08 21:16:15 -06:00
Alexander von Gluck IV
ca1c1c5db9 net server: IPv6 local link, Use BNetworkAddress tools for mac
* Stop using sscanf
* Start using BNetworkAddress LinkLevelAddress and friends
* Thanks Axel!
2012-02-08 21:07:36 -06:00
Alexander von Gluck IV
8b371b91e4 NetServer: Prevent duplicate v6 link local addresses
* Check to ensure the address doesn't already exist on card
* In the future we will want to check interface address flags
  for any local scoped addresses on a card.
2012-02-07 18:14:21 -06:00
Alexander von Gluck IV
dd7f08b519 NetServer: Add IPv6 link local address to each nic on boot
* Remove old ioctl code, cleanup AutoLooper.
* Move link local code into NetServer
  AutoLooper should only be used for things that
  count as "auto-configuration" such as DHCP, router
  advertisements, and DHCPv6
* Properly form IPv6 link local address from MAC address
* I think some IPv6 routes are needed still for proper
  local link connectivity.
* Duplicate Address Detection is still a TODO
* Style cleanup
2012-02-07 15:46:37 -06:00
Fredrik Modéen
e817f41e8b Fixing debug in Media Kit.
* Only fixing debug i the media kit.
* Help with ASSERT(flavorID == testFlavorID) would be nice, don't know what ASSERT do.
2012-01-29 00:06:13 +01:00
Sergei Reznikov
6da19b0993 Fix Notification Group header text drawing
* This fixes the drawing issues in the "font aliasing" area that are
  appeared as small white points on the gray background.

Signed-off-by: Siarzhuk Zharski <zharik@gmx.li>
2012-01-22 18:36:44 +01:00
czeidler
d3ff06683a Use new node monitor fields in the index_server.
* remove unnecessary modified query hack
2012-01-22 17:51:46 +13:00
czeidler
6c40fc5dfc Reconnect BApplication and trigger reconnect of all BWindows in an application.
* handle bitmap reconnect request in the app server
2012-01-22 15:30:16 +13:00
czeidler
00670f08ef Reconnect imput server. 2012-01-22 15:30:15 +13:00
czeidler
577f58763b Make it possible to reconnect BBitmap to the app_server.
* maintain a list of all BBitmaps
* refactor the client memory allocator class, its possible now to just clone existing client area
2012-01-22 15:30:15 +13:00
czeidler
04209cdd81 Catch a app_server crash in the debug server. Let the registrar restart the app_server and notify all apps. 2012-01-22 15:30:14 +13:00
Michael Lotz
91d012366c Avoid warning on certain debug builds.
The variable is used in the TRACE(), but that is only enabled for
DEBUG >= 2. This therefore avoids a warning on DEBUG=1 builds.

Inspired by patch in #8252 by Urias McCullough.
2012-01-07 02:04:56 +01:00
Philippe Saint-Pierre
114ab70975 Change style of boolean expression to enhance readability. 2011-12-29 12:40:32 -05:00
Philippe Saint-Pierre
0fa5c8f528 Constant expression result
Usage of | rather than & to check a binary mask.  CID 11031.
2011-12-27 23:27:20 -05:00
Urias McCullough
94624a8ad6 Fix warning in AutoMounter debug code
Signed-off-by: Matt Madia <mattmadia@gmail.com>
2011-12-27 22:57:44 -05:00