Commit Graph

54826 Commits

Author SHA1 Message Date
Julian Harnath
0a6baa7e74 app_server: gcc4 build fixes 2015-11-10 23:42:43 +01:00
Julian Harnath
25dbf74b8e BView: add methods for affine translation/scaling/rotation
* BView::TranslateBy(), BView::ScaleBy() and BView::RotateBy()
  allow to conveniently modify the current affine transformation.
  This makes it unnecessary to first read the current transform,
  modify it, and then set it again.
  Uses the new Pre...() methods of BAffineTransform.

* Also, remove setting the transform "through" to the BView even
  while recording a BPicture, as this now results in transforms
  being applied more than once.
2015-11-10 23:34:08 +01:00
Julian Harnath
4721524cb5 BAffineTransform: add PreTranslate/PreScale/PreRotate
* The existing methods TranslateBy(), ScaleBy() and RotateBy()
  transform the transformation. For a transform A, a point p,
  and the temporary transform B (being applied by the methods),
  this results in p' = B*(A*p) = (B*A)*p
  This is not necessarily the desired result. Suppose A is a
  translation and B a rotation, added by RotateBy(). Then B*A
  means that the translation itself is rotated, so B moves the
  coordinate origin itself, by rotating it around the original
  origin of the coordinate system (top left view corner).

  If we want to translate and then rotate around that *new* origin,
  we need to multiply the transforms the other way around: A*B.

  Three new methods PreTranslateBy(), PreScaleBy() and PreRotateBy()
  implement this. They are later used as a base to add translatation/
  scaling/rotation methods to BView which behave in the expected
  ordering, similar to other graphic APIs.
2015-11-10 23:34:03 +01:00
Julian Harnath
1cde68c5a2 app_server: apply transform to CopyBits
* Apply affine transforms to source and target rects of
  BView::CopyBits(). For now, only if transform is a dilation.
2015-11-10 23:33:58 +01:00
Julian Harnath
4bd6f322bb app_server/Interface Kit: add new clipping API
* Add new clipping API for rectangles (ClipToRect, ClipToInverseRect)
  and shapes (ClipToShape, ClipToInverseShape)

* Works with affine transforms and automatically switches from fast
  region-based clipping to alpha-mask based clipping as necessary.

* Always self-intersecting, i.e. no state push required to further
  narrow down the clipping region. All of the 4 new methods can be
  mixed in any order.
2015-11-10 23:33:54 +01:00
Julian Harnath
23af4ff6ac app_server: finish BShape-based alpha mask generation 2015-11-10 23:12:32 +01:00
Julian Harnath
ab12093685 BShape: move bounding box method to shape_data
* Makes it easier to get the bounding box from inside app_server
2015-11-10 23:12:30 +01:00
Julian Harnath
08135223ce Affine transforms: add method to test for dilation
* Add IsDilation() to BAffineTransform and Transformable which check
  whether the transform is a dilation, i.e. consists of only
  translation and/or scaling
2015-11-10 23:12:28 +01:00
Julian Harnath
6109a2086d Merge branch 'app_server'
Conflicts:
	src/kits/interface/PicturePlayer.cpp
	src/servers/app/ServerPicture.cpp

In addition, the following files were also adapted to master branch
BPicture changes during the merge:
	src/kits/interface/PicturePlayer.h
	src/servers/app/PictureBoundingBoxPlayer.cpp
2015-11-10 23:09:54 +01:00
Adrien Destugues
a29ff41ec7 Update LnLauncher to a version that doesn't lose settings.
* That makes it much more usable.
2015-11-10 20:54:08 +01:00
Rene Gollent
081d56c4d9 Debugger: Fix potential VariablesView crash.
- In some contexts, VariablesView doesn't have an associated thread
  and stack frame, which would lead to a potential crash when resolving
  expression nodes.
2015-11-10 14:38:26 -05:00
Rene Gollent
d6a334fa21 Debugger: Adjust TeamWindow to use ExpressionEvaluationWindow.
- Requesting expression evaluation from the top level menu now
  invokes an expression eval window, rather than the past prompt.

ExpressionPromptWindow:
- Simplify, as it's now strictly used to add persistent expressions.
2015-11-10 14:38:24 -05:00
Rene Gollent
94acd9251e Debugger: Add dedicated expression evaluation window.
- Rather than dropping one-off expression evaluation results into the
  current team's variables view, they will now be handled in a dedicated
  window, which also allows to control the context in which the expression
  is evaluated.
2015-11-10 14:01:15 -05:00
Rene Gollent
b4058de7fe ValueNodeManager: Add flag to control frame variables.
- We now take a flag which determines whether or not to add parameters
  and locals from the frame to the container.
2015-11-10 14:01:14 -05:00
Rene Gollent
be32382a6d Debugger: Adjust initial configuration of VariablesView.
- VariablesView is now passed a ValueNodeManager to use at
  construction time, rather than creating one itself internally.
- Adjust TeamWindow accordingly.
2015-11-10 14:01:12 -05:00
Rene Gollent
90da71b645 VariablesView: Style cleanups. 2015-11-10 14:01:10 -05:00
John Scipione
d3628dcd8f IK: Move CheckNodeIconHintPrivate to Tracker
* Move BPrivate::BNodeInfo::CheckNodeIconHintPrivate() to Tracker's
  Model class.
* Rename HasVectorIconHint(BNode*) to CheckNodeIconHint(BNode*).
  and make it check not only for vector icons but also if you have
  BOTH large and mini icons.
* Replace instances of CheckNodeIconHintPrivate() with the newly
  created CheckNodeIconHint().
2015-11-10 09:15:17 -08:00
Axel Dörfler
70708ef97d launch_daemon: Retrieve default port from monitoring BRoster.
* Instead, we now maintain a default port for a job. For "legacy"
  services, BRoster's B_SOME_APP_LAUNCHED will update it, too.
* This allows to quit Tracker using "launch_roster stop".
* Also, this fixes bug #12249, as we don't use the signature variant of
  creating BMessenger anymore in Job::GetMessenger(). This would call
  into the launch_daemon again, and deadlock.
2015-11-10 15:55:35 +01:00
Adrien Destugues
c1a27ee107 Update ffmpeg_x86 to 2.8.
* Confirmed working in Web+
* This has better compatibility, stability and performance, no need to keep using
  an old release
2015-11-10 11:59:51 +01:00
Adrien Destugues
ac3e52cc81 Update subversion, wpa_supplicant and openssh
* They depend on openssl and the dependency versionning had to be fixed.
2015-11-10 11:50:07 +01:00
Adrien Destugues
534d0e6160 SerialConnect: allow to change line terminator
* It can now be used to send AT commands for example, which need \r
  instead of \n.
2015-11-10 09:55:48 +01:00
Adrien Destugues
d3b6b9e5f7 BSecureSocket: use "trusted first" validation algorithm.
* This makes it work with the new ca_root_certificates package.

Fixes #12004.
2015-11-10 09:22:02 +01:00
Adrien Destugues
5d9674b2f8 Update OpenSSL to 1.0.2.
* The dependency declarations were broken in previous versions, so all
  packages depending on OpenSSL need to be rebuilt with the proper
  dependency on the libs (1.0.0 and not 1.0.0r or similar).
* I have confirmed that this version works fine in a running Haiku
  install (so the problems affecting the initial 1.0.1 port are fixed).
* OpensSL 1.0.2 can be used with a current ca_root_certificates package,
  so also update that.
2015-11-10 09:19:46 +01:00
Axel Dörfler
93c0a5d790 Reworked little endian bitfields a bit.
* Added B_ prefix.
* Renamed 16 bit variants to B_LENDIAN16_*.
* Added 32 bit variants (albeit only 16 of them for now).
* Adjusted headers that were using them.
2015-11-10 08:47:48 +01:00
Michael Lotz
ab306fb8f5 BPathMonitor: Fix locking order reversal introduced in 8599f4b.
The sLocker was used as an outer lock with the sLooper locked within.
The sLocker therefore can't be used within MessageReceived() as that
could lead to deadlocks due to reversal of the locking order.

Instead of two locks, just use locking the looper for all serialization.
While this has a higher overhead to using a BLocker (due to the looper
list locking and lookups) this shouldn't be too problematic.
2015-11-09 23:11:57 +01:00
Jonathan Schleifer
82f5db2e26
More libunwind compilation fixes 2015-11-09 20:00:06 +01:00
Jonathan Schleifer
ab1ac5930b
Fix a typo 2015-11-09 19:56:38 +01:00
Jonathan Schleifer
8e3c9301d9
Add Jamfile for x86 libunwind 2015-11-09 19:06:11 +01:00
Jonathan Schleifer
7a541d13ed
Some progress towards libunwind compiling
* Add main Jamfile
 * Add x86_64 Jamfile
 * Add config.h for Haiku
 * Add defines missing from elf.h
 * Don't include some missing files
2015-11-09 18:16:08 +01:00
Jonathan Schleifer
18941b085c
Import libc++ 2015-11-09 18:02:17 +01:00
Jonathan Schleifer
f2c0917eea
Import libcxxrt 2015-11-09 18:01:58 +01:00
Jonathan Schleifer
d77787f2a4
Import libunwind 2015-11-09 18:01:42 +01:00
Jonathan Schleifer
0e2547a80d
Import lib/Headers from Clang 2015-11-09 18:01:18 +01:00
Adrien Destugues
3df0df95cd get_package_dependencies: catch and report exceptions
The package kit uses exceptions for error handling, but this tool didn't
catch them so all we got in case of error is "Abort" on the error
output.

Now, the exceptions are caught and reported with the complete error
message.
2015-11-09 12:58:51 +01:00
Adrien Destugues
55af491fde BUrlContext: fix logic reversal in certificate comparison
The Predicate for BObjectList::FindIf must actually be a difference
operator, and return 0 if there is a match.
2015-11-09 11:13:00 +01:00
Adrien Destugues
4849ab6c8b BHttpRequest: add SSL certificate exception management.
When an HTTPS request uses an SSL certificate that OpenSSL considers
untrusted, and the user decides to continue anyway, add the certificate
to an exception list. Match certificates against this list and don't ask
the user again if they are already there.

Fixes #12004. Thanks to markh for the initial patch and peeking into the
WebKit code!
2015-11-09 10:46:58 +01:00
Adrien Destugues
f26dbfe79b BCertificate: build fix. 2015-11-09 00:15:19 +01:00
Adrien Destugues
6c32f50a64 BCertificate: fixup the API
* Add an operator== and a copy constructor
* Make the getters const so they are easier to use
2015-11-08 23:47:29 +01:00
Michael Lotz
ba307a12db vfs: Cleanup: Move functions around for more logical grouping.
Move static internal functions out of the API functions block and drop
their vfs_ prefix and move an API function into the API functions block.
2015-11-08 22:31:56 +01:00
Michael Lotz
c73d13015d kernel: Use anonymous namespaces to avoid type collisions.
The anonymous namespace makes type definitions local to the translation
unit (like static does for objects). For pretty much any type not shared
across multiple files this is what one wants to happen (and might
erroneously expect to happen automatically).

This commit solves some actual collisions that were present:

* The VFS and the rootfs both used an incompatible VnodeHash struct for
  their BOpenHashTable.
* XSI semaphores and message queues both used queued_thread, Ipc and
  IpcHashTableDefinition.

For release builds these did not cause problems as the types were fully
inlined. Debug builds would crash at boot however because parts of a
BOpenHashTable<VnodeHash> from the rootfs meant to operate on struct
rootfs_vnode would be applied to one from the VFS expecting struct
vnode.

As such collisions are violations of the one definition rule, the code
is at fault and unfortunatley the compiler isn't required to diagnose
such problems across translation units (which isn't actually trivial).
This can lead to subtle and hard to debug problems and it's therefore
best to avoid leaking types into the global namespace whenever possible.
2015-11-08 22:31:56 +01:00
Jonathan Schleifer
c6fb0e2c4d
configure: Disable Clang's integrated assembler
We have too much code that doesn't work with it yet and it makes more
sense to get the other parts working with Clang first.
2015-11-08 22:11:28 +01:00
Joseph R. Prostko
8719963f48 Add packages for Fossil 1.34 2015-11-08 15:27:19 -05:00
Jonathan Schleifer
bfe60c1e5a
Don't define __ARM*__ for Clang
I have a patch for Clang ready that I will upstream instead.
2015-11-08 16:38:57 +01:00
Jonathan Schleifer
f7ededa623
shell.S: Add .section .bss to make Clang happy 2015-11-08 16:30:40 +01:00
Jonathan Schleifer
50a1d86c88
byteorder.S: Use flds instead of fld
Clang refuses to guess.
2015-11-08 16:27:31 +01:00
Jonathan Schleifer
a7bddff13e
configure: Cleaner way for --use-clang 2015-11-08 16:00:14 +01:00
Axel Dörfler
f0e23c2b9b launch_daemon: Fixed missing Event member initialization.
* This fixes targets starting seemingly unconditionally.
2015-11-08 11:41:01 +01:00
Axel Dörfler
f761076be5 launch_daemon: Fixed DemandEvent::ToString().
* Reported "event" instead of "demand".
2015-11-08 11:41:01 +01:00
Adrien Destugues
60572cc8d0 Add a MIME type to network_settings add-ons
* This is required for localization to work.
2015-11-08 09:28:34 +01:00
Adrien Destugues
7218744e73 Network preferences: missing translations.
* Some files with localized items were not added to the jamfile.
2015-11-08 09:22:13 +01:00