54864 Commits

Author SHA1 Message Date
Axel Dörfler
be741f6ec1 Minor cleanup of translator roster commit, updated copyright. hrev49837 2015-11-13 11:37:15 +01:00
Axel Dörfler
07432f3975 AboutSystem: Added Markus Himmel as contributor. 2015-11-13 11:35:15 +01:00
Markus Himmel
a1eccae96f Make sure images containing BTranslators are not unloaded early
When a translator is uninstalled, BTranslatorPrivate::_RemoveTranslators is
called. This method used to unload the image containing the translator after
calling Release() on it resulting in several problems:

- If the translator was still busy, e.g. translating something while being
  installed, it crashed since the image was unloaded even though its refcount
  was larger than 0.
- Applications using code from one of the translators (e.g. its config view)
  would crash when the translator is uninstalled (this is bug #12005).

This problem is now fixed. The roster keeps track of all translators whose
image it manages (even if the translator was already removed from the roster).
It also keeps a refcount to all images. When a translator's refcount drops to
zero and it belonged to a roster at some point, it does not delete itself, but
notifies the roster that it is ready to destruct, which then removes it from
the roster if the translator is still in it, destroys the translator, decrements
the refcount of the image and if the new refcount is zero, unloads the image.
All of this is done in a message handler, since if the translator called
TranslatorDeleted like before, the unloaded image would be referenced when
the stack is walked up.

Finally, the DataTranslations preflet is required to Acquire() the translator
whose config view it is showing, because otherwise its refcount could be reduced
to 0 and the image unloaded. BTranslatorRoster now enables users to acquire a
translator by ID. By the time the translator has to be released, it might not
be part of the roster anymore though. Since BTranslatorRoster tries not to give
out raw pointers to the translators it manages, users who acquire a translator
through a roster now are given a BTranslatorReleaseDelegate, which allows for
releasing the BTranslator exactly once and then self-destructs.

Signed-off-by: Axel Dörfler <axeld@pinc-software.de>
2015-11-13 11:26:53 +01:00
Markus Himmel
fdfc54b571 Remove unnecessary whitespace in AppDefs.h
Signed-off-by: Axel Dörfler <axeld@pinc-software.de>
2015-11-13 11:26:41 +01:00
Adrien Destugues
43c2927886 pkgman: show old version when updating packages. hrev49836 2015-11-13 11:02:49 +01:00
Adrien Destugues
709ac637dd Update hub, f1spirit, and sdl_net hrev49835 2015-11-13 10:07:58 +01:00
Adrien Destugues
bbb79b8b7f openssl_x86: really fix library versionning. hrev49834 2015-11-13 08:53:54 +01:00
Adrien Destugues
691e517bbd build fix.
* can't use min here, this header is not supposed to #include
  <algorithm>.
hrev49833
2015-11-12 22:24:16 +01:00
Adrien Destugues
4e3137c085 Add another missing string::compare method
* Makes our gcc2 slightly more C++98 compliant...
hrev49832
2015-11-12 22:08:23 +01:00
Adrien Destugues
6ae8d586ea Web+: More reasonable default size for cookie manager. hrev49831 2015-11-12 14:07:28 +01:00
Gerasim Troeglazov
33ba5c6a7f Update libqt4 and qsystray packages for x86_gcc2 hrev49830 2015-11-12 12:44:59 +00:00
Adrien Destugues
9c1f4f1026 Fix NetSurf dependency on libutf8proc. hrev49829 2015-11-12 13:18:56 +01:00
François Revol
220c5364ab unbootstrap.sh: make it executable hrev49828 2015-11-12 11:07:46 +01:00
Adrien Destugues
5b7cdbbb23 WebPositive: add a cookie manager.
* Allows you to view and delete cookies.
* The list of domains is hierarchized and collapsed to minimize the
  number of empty entries
* All cookie parameters are shown for each domain: name, path, value,
  expiration date, and known flags.
hrev49827
2015-11-12 10:48:12 +01:00
Adrien Destugues
0b6c189559 BNetworkCookieJar: rework locking
The cookie jar used to be locked whenever an iterator was instanciated.
This didn't work well when using several iterators in the same thread,
because the BLocker then allows all of them to access the list
concurrently.

Rework the locking code to use a more fine grained approach, where the
cookie jar is only locked temporarily by methods which require it. These
methods are the ones which get and put new domain-lists in the jar, as
well as acquiring the locks on the domain-lists.

Each domain-list in the jar is locked using a read/write lock as before.
This means there can be many requests getting cookies for the same
domain in paralel, but only one at a time is allowed to set new cookies.

The iterators keep domain lists they need to access read-locked, as long
as they iterate the cookies for that domain.

A limitation of this approach is that deleting a domain-list when it
becomes empty is difficult. We can live with this, however, the
iteration still works (it just skips empty lists), and the empty lists
will not be stored or restored when archiving the cookie jar.
2015-11-12 10:18:35 +01:00
Adrien Destugues
bd0bb0cae6 add libutf8proc
Required by NetSurf.
hrev49826
2015-11-12 08:33:36 +01:00
Automatic Committer
9311f342ef Update pci.ids from pciids.sourceforge.net hrev49825 2015-11-12 05:20:24 +01:00
Axel Dörfler
93bb55e413 launch_daemon: Fixed resetting launch status, port update.
* _SetLaunchStatus() doesn't allow to set the status to B_NO_INIT
  (and rightly so).
* Therefore, we now reset it manually in Job::TeamDeleted(). This
  fixes restarting things that once ran on demand.
* Also update the port message when the default port changes.
hrev49824
2015-11-11 21:27:49 +01:00
Rene Gollent
190df86bd4 Debugger: Fix handling of pointer fields in messages.
BMessageValueNode:
- When resolving a pointer field, look up the type by the  fully qualified
  name, as that's how it winds up being stored in the lookup map. Also,
  due to gcc omitting the unspecified parent type on such pointers entirely,
  looking them up by base type name this way won't work anyhow.
hrev49823
2015-11-11 15:11:47 -05:00
Rene Gollent
6ec76089d9 x86: Revert changes due to various dependency issues. hrev49822 2015-11-11 11:26:16 -05:00
Rene Gollent
cdb29d3806 x86: Update subversion and deps. hrev49821 2015-11-11 10:45:32 -05:00
Rene Gollent
fcffaec1ca x86: Add libz. hrev49820 2015-11-11 10:07:47 -05:00
Axel Dörfler
9e73b62749 launch_daemon: Fixed preregister consequences.
* Since the last change, the user launch_daemon would talk to the
  registrar again.
* However, this also caused BRoster::Launch() to preregister the app,
  which messed up our preallocated port.
* BRoster::Private::Launch() now allows to get the port that the
  registrar created in such a case, and the launch_daemon will now just
  use that one as default port.
* This lets us talk to the Deskbar again, and should fix #12455, as
  well as #12454 (again).
hrev49819
2015-11-11 16:04:02 +01:00
Rene Gollent
2c2ba72cf4 x86: Update more OpenSSL-dependent packages. hrev49818 2015-11-11 09:30:54 -05:00
François Revol
bf53f0684f <disk_system>fat: fix gcc4 build
I noticed the syntax for libsupc++ in the BFS Jamfile addon differed but didn't think it mattered.
hrev49817
2015-11-11 15:18:04 +01:00
François Revol
038621114e Add FAT addon for DriveSetup
Tested with a 5MB image, seems to work.

There seems to be an issue with too long names though, or possibly names with spaces.

Also, technically it supports FAT12,16 and 32, so it should probably be renamed
in the interface.

Didn't check how to declare support for more than 1 partition types either.
hrev49816
2015-11-11 14:41:51 +01:00
François Revol
910a2b8c86 fat: Add initialization support
Not much tested yet but it does work on a 5MB image with mkfs.
2015-11-11 14:41:51 +01:00
François Revol
6476935b27 fat: copy over the mkdos sources 2015-11-11 14:41:51 +01:00
Adrien Destugues
ae2f71baa7 Update several packages that link against openssl. hrev49815 2015-11-11 11:59:03 +01:00
Adrien Destugues
e7f7c4b2d3 ffmpeg: add some alternate MIME types to the known demuxers
* These are the standard types used in HTML5 media, tell everyone that
  we can handle them.
* A few more green items in html5test.com, no extra points since none of
  the formats are mandatory however.
2015-11-11 11:58:42 +01:00
Julian Harnath
b45b6e2341 haikuwebkit: update revision in the package desc. as well hrev49814 2015-11-11 10:03:07 +01:00
Rene Gollent
aac45df1e8 x86: Update curl to 7.45. hrev49813 2015-11-10 22:19:19 -05:00
Rene Gollent
9d5046cf55 x86: Update OpenSSL and WebKit packages. hrev49812 2015-11-10 21:49:58 -05:00
Adrien Destugues
f1c1a9dfa8 SecureSocket: stubs for no-openssl version hrev49811 2015-11-11 01:50:17 +01:00
Julian Harnath
953ddb607d Update haikuwebkit package release
* Whoops, had an only-for-testing hrev number in there by building
  the pkg from my test install..
hrev49810
2015-11-11 01:41:48 +01:00
John Scipione
408a2da5c6 Tracker: Set low color before drawing column name
Fixes #12084
hrev49809
2015-11-10 16:27:41 -08:00
Adrien Destugues
c614961364 Implement CONNECT pass-through for HTTPS proxy
* When using a proxy, HTTPS connexion must still go directly to the
  target website. The proxy can then act as a TCP stream relay and just
  transmit the raw SSL stream between the client and website.
* For this, we ask the proxy sending an HTTP request with the CONNECT
  method. If the proxy supports this, we can then send anything as the
  payload and it will be forwarded.
* Untested, as the network here in Dusseldorf doesn't let me use a
  proxy.

ticket : #10973
hrev49808
2015-11-11 01:16:38 +01:00
Julian Harnath
959355842f Update haikuwebkit to 1.5.0-1 hrev49807 2015-11-11 00:00:37 +01:00
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.
hrev49806
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.
hrev49805
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