Commit Graph

46816 Commits

Author SHA1 Message Date
Augustin Cavalier
a4f254fa49 Remove printf() definition added in previous commit. 2016-01-04 07:06:55 -05:00
looncraz
7a96554cb3 kits/interface: Convert to using Set*UIColor.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patches 0003-0017 from looncraz, unmodified.
2016-01-04 07:04:45 -05:00
looncraz
7f9368cae5 Set*UIColor, etc.
The inseparable changes necessary to support live color updating across the
system in a sane, safe, and performant manner.

BView gains:

HasSystemColors()
HasDefaultColors()
AdoptSystemColors()
AdoptParentColors()
AdoptViewColor(BView*)
SetViewUIColor(color_which, float tint)
SetHighUIColor(...
SetLowUIColor(...
ViewUIColor(float* tint)
HighUIColor(...
LowUIColor(...
DelayedInvalidate()

BWindow gains a simple helper method:
IsOffscreenWindow()

BMessage gains:

AddColor()
FindColor()
GetColor()
HasColor()            * allegedly this API is deprecated, but I implemented it anyway
ReplaceColor()
SetColor()

Previous private ColorTools methods are made public and moved into GraphicsDefs:

mix_color, blend_color, disable_color

These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup
of BeOS example code under the OpenTracker license.

In addition, four new colors are created:
B_LINK_TEXT_COLOR
B_LINK_HOVER_COLOR
B_LINK_ACTIVE_COLOR
B_LINK_VISITED_COLOR

These changes are documented in their proper user documentation files.

In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and
used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit.

On the app_server side, the following has changed:

Add DelayedMessage - a system by which messages can be sent at a scheduled time,
and can also be merged according to set rules.  A single thread is used to service the
message queue and multiple recipients can be set for each message.
Desktop gains the ability to add message ports to a DelayedMessage so that
said messages can target either all applications or all windows, as needed.

Desktop maintains a BMessage which is used to queue up all pending color changes
and the delayed messaging system is used to enact these changes after a short
period of time has passed.  This prevents abuse and allows the system to merge
repeated set_ui_color events into one event for client applications, improving
performance drastically.

In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message
to each BWindow.  This is done to improve performance over having the app_server
independently informing each window.

Decorator changes are live now, which required some reworking.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2016-01-04 06:48:22 -05:00
DarkmatterVale
e1474dd440 BSnow: Remove from tree.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
It now lives at HaikuArchives.
2016-01-03 08:33:25 -05:00
Julian Harnath
85e034e479 app_server: lock previous alpha mask when generating mask
* Also, regenerate masks from bottom to top to make sure all
  of the lower mask is generated before masks higher in the
  stack are rendered.
2016-01-03 16:42:48 +01:00
Julian Harnath
e532264bcb app_server: attach correct rendering buffer to cloned mask
* When cloning a cached mask, we have to attach the
  AGG rendering buffer of the new instance to the AGG clipped
  mask object. Before, it was using the buffer description from
  the clone source.. which can later disappear at any time.

* Fixes bug #12478
2016-01-03 16:42:40 +01:00
Dario Casalinuovo
6f5c753d12 MediaPlayer: Show tip with current time when seeking.
* Rework of the patch from dburkart, Thanks!
* Fixes #8567.
2016-01-02 19:26:33 +01:00
Augustin Cavalier
4dfbf1d04c network/stack: #if 0 out ppp_frame datalink protocol.
Forgot to do this in previous push.
2016-01-02 12:28:00 -05:00
mshlyn
e3724c38cb PPP: Port to the new stack.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

This is a squash of the 42 commits by @mshlyn, as I couldn't find a
way to break them into logical chunks. I did not include these in the build,
as it appears that they only partially work anyway, and much more cleanup is
still needed. However, this is a huge improvement on what was in the tree
before, which looked horrendous and didn't even compile (as it was designed
for the old stack).

Mostly fixes #812.
2016-01-02 07:22:13 -05:00
DarkmatterVale
6511a06111 Add help option to RemoteDesktop 2016-01-01 21:03:33 +01:00
DarkmatterVale
8de8a927ee Fix white screen of death in remotedesktop
Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2016-01-01 21:03:30 +01:00
Augustin Cavalier
599289f2f3 ACPI: Revert the upgrade.
I don't have any hardware that reproduces the KDLs, and the developers
that do don't seem to have time to test / debug it, so I'm just reverting.
2016-01-01 07:51:56 -05:00
Augustin Cavalier
3c85734188 BTextView: Don't crash if the file supplied is zero-length.
Fixes #12551.
2015-12-31 20:54:27 -05:00
Augustin Cavalier
aa89e2de03 ACPI: Use AcpiGbl_OverrideDefaultRegionHandlers and do the init ourselves.
May help with the recent boot failures, according to a post on the ACPICA-dev
mailing list.
2015-12-31 16:36:38 -05:00
Adrien Destugues
2c49943980 Use the existing ffmpeg function to decide if a format is planar. 2015-12-31 16:19:59 +01:00
Jessica Hamilton
8113bbfe40 ffmpeg addon: only use swresample for planar audio.
Fixes #12547.
2015-12-31 16:19:57 +01:00
Automatic Committer
ccb3f7e7a0 Update pci.ids from pciids.sourceforge.net 2015-12-31 05:20:29 +01:00
François Revol
57346752bb listfont: remove (broken) check for R5 bug 2015-12-30 19:56:01 +01:00
Augustin Cavalier
2839ab9cda ACPICA: Exclude from build & delete utclib.c.
ACPI_USE_SYSTEM_CLIBRARY is/has been defined, so it isn't used.
2015-12-30 08:06:52 -05:00
Akshay Jaggi
f91361e0db XHCI: Even more fixes.
* Fix Endpoint Context Initialisation (Refer xHCI v1.1 - 6.2.3)
 * Fix Interval Calculation (Refer xHCI v1.1 - 6.2.3.6 , USB 2.0 - 9.6.6 page 271)
 * Fix MaxBurst, MaxPacketSize Calculation (Refer xHCI v1.1 - 6.2.3.5, USB 2.0 - 9.6.6 page 271)
 * Fix MaxESITPayload Calculation (Refer xHCI v1.1 - 4.14.2)
 * Remove Link TRBs as they were never being used
 * Increase Number of TRBs per endpoint (to utilise the whole area allocated for Device TRBs)
 * Fix usage of XHCI_MAX_ENDPOINTS (most of the checks were failing at corner cases)
 * Some coding style fixes.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Before this patch, writes to USB disks on XHCI in VirtualBox (which emulates
an Intel C210) stalled or failed. After this patch, they apparently work,
although I got mixed results - a BFS disk seemed to work perfectly, a FAT32
one also seemed to work OK but after a reboot there was data corruption. USB
mouse is still as busted as ever.
2015-12-29 13:06:33 -05:00
Augustin Cavalier
3cc632615c busses/usb: Trim trailing whitespace. 2015-12-29 12:09:56 -05:00
Augustin Cavalier
d4fb4ebd67 ACPI: Remove manual address space handler initialization.
These are now done in AcpiInitializeSubsystem(), as part of the
early init so they can be present when the tables are loaded.

Should fix ACPI not working since the merge.
2015-12-29 11:29:52 -05:00
Adrien Destugues
9ec8a1e4d9 Kernel POSIX: add stpcpy.
- Required by new GCC versions, which are able to optimize string
  appends using it.
- Fixes build of ACPICA for x86/gcc4.
2015-12-29 10:24:06 +01:00
Augustin Cavalier
4dffc0abb9 ACPICA: Update to 20151218 from 20150818.
Requested by RudolfC. Apparently there was a regression which prevented
ACPI battery/power from working on his system, which was fixed by
https://github.com/acpica/acpica/commit/a3267967c.

The only testing I did with this was confirm it compiles and boots
in a VM, so apologies if this breaks something else.
2015-12-28 23:05:46 -05:00
Michael Lotz
28d3c8ca50 runtime_loader: Resync heap impl with the one of the bootloader.
The heap implementation of the runtime_loader was switched to the one
of the bootloader in 6f0994d but was since updated independently.

To keep the diff between the two implementations as small as possible,
the bootloader implementation was first copied to the runtime_loader
and then some features not relevant in the runtime_loader (like the
special large allocation handling) have been removed and the
runtime_loader specific features (grow_heap, add_area) have been
reintegrated. But basically this applies 96689a5..HEAD of
src/system/boot/loader/heap.cpp to the runtime_loader heap.

This brings in the switch from a linked list to a splay tree based
free chunk management. Since the allocation counts in the runtime_loader
are rather small, this does not perceptibly affect performance in either
direction though.
2015-12-27 13:54:48 +01:00
Michael Lotz
8bbfae7b05 runtime_loader: Fix endless rld heap grow loop in edge case.
The needed storage space for tracking the allocation size was not
accounted for when growing the heap. Since the growth size is always
rounded up to a multiple of 32KiB, this did almost never matter as the
new allocation wouldn't need the full size. If the allocation did
happen to need the full size however, the newly added area would always
be too small. As the allocation attempt was simply restarted after each
successful growth, this lead to an endless loop creating small new
areas, which would then quickly starve the system for memory.
2015-12-27 13:54:47 +01:00
Markus Himmel
5f2db70ffb Interface Kit: Add BCardView
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2015-12-26 20:13:22 -05:00
RudolfC
c09a549146 nVidia driver: Doc update, no functional change 2015-12-26 12:03:14 +00:00
Automatic Committer
3ac1bac8e3 Update usb.ids from www.linux-usb.org 2015-12-24 05:20:25 +01:00
Automatic Committer
7d9bcf3e7e Update pci.ids from pciids.sourceforge.net 2015-12-24 05:20:23 +01:00
Axel Dörfler
29871039d7 IMAP: Use BStringList instead of STL vector. 2015-12-22 19:35:09 +01:00
Axel Dörfler
e69a3a86fc strace: Added option to dump syscall stats.
* Use -c/-C (same as in Linux's strace) to enable the stat output.
* Former -c to turn of colored output is now --no-color.
2015-12-22 19:35:09 +01:00
Axel Dörfler
30ac5550f1 mail_daemon: Only show new message count for new messages.
* Ie. do not show it always when the new message count changes,
  only show it when it increases.
2015-12-22 19:35:09 +01:00
Axel Dörfler
184619e625 IMAP: removed superfluous files from the old implementation. 2015-12-22 19:35:08 +01:00
Adrien Destugues
3c5c6990bb Really fix swr_convert usage for gcc2. 2015-12-21 22:48:23 +01:00
Augustin Cavalier
6984b8554c Revert "libroot: Undefine constants for unsupported POSIX features"
This reverts commit 7aebec8db1.
As per the discussion on the mailing list.
2015-12-21 12:16:33 -05:00
Simon South
7aebec8db1 libroot: Undefine constants for unsupported POSIX features
Haiku does not yet support certain features related to POSIX threads.
Constants used to test for the presence of these features should
therefore be left undefined, according to the POSIX spec, but are
currently set to -1. This can cause software built on Haiku to
incorrectly detect the presence of these features.

* unistd.h: Undefine _POSIX_THREAD_ATTR_STACKADDR,
  _POSIX_THREAD_PRIORITY_SCHEDULING feature constants.
* conf.cpp: __sysconf: Return -1 for unsupported features.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2015-12-21 11:09:34 -05:00
Adrien Destugues
9dd9b45436 Use swresample to rematrix audio channels, try 2
This code is closer to what we used before for gcc2, and should not
crash there anymore. I could not get exactly the same code to work, but
reduced the difference to a single statement (which makes gcc2 work and
breaks gcc4). This is protected under a guard with appropriate ffmpeg
version test.

This code works for both gcc2 and gcc4 (tested with mp3 and aac files as
well as youtube videos). It still gets the timestamps wrong with ffmpeg
2.4, but I'll try to solve that another time.
2015-12-19 21:55:10 +01:00
Augustin Cavalier
8a822b7c85 Revert "AVCodecDecoder: use swresample to interleave audio channels."
Commit 856cc59e58 didn't really "fix"
anything; it just broke audio pretty much everywhere but YouTube,
and there videos play at 2x speed so it wasn't really worth it.

Stopgap solution for #12509.
2015-12-18 20:42:29 -05:00
Humdinger
128efd5eae Added application/xhtml+xml as supported type for TextSearch 2015-12-18 18:17:56 +01:00
Guillermo Bonvehi
937aabf5a1 MediaPlayer: Added simple shortcuts to playlist.
Fixes #6562.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
I tweaked some coding style and added back the missing
B_BACKSPACE shortcut.
2015-12-17 16:52:38 -05:00
Markus Himmel
a89ac5a653 Tracker: Add dragged poses to the drag message in the correct order
The function EachPoseAndModel iterates through poses in reverse order.
This fixes #12333.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2015-12-17 16:25:16 -05:00
Jérôme Duval
33840df504 app_server: declare jam dependency for BitmapPainter to freetype 2015-12-17 21:51:08 +01:00
Automatic Committer
381c562bc4 Update usb.ids from www.linux-usb.org 2015-12-17 05:20:33 +01:00
Augustin Cavalier
928081790f WebPositive: Fix typo in SettingsWindow.
Thanks Anarchos!
2015-12-16 16:16:35 -05:00
Dariusz Knociński
c0349163fd Preferences/VirtualMemory: fixed crash when exiting from not fully initialized application.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2015-12-15 21:21:23 -05:00
Augustin Cavalier
485f533935 RWLocker: Move to kits/shared.
As requested by looncraz. A lot of stuff in IOM/MediaPlayer's
'support' directories probably should be moved to 'shared' anyway.
2015-12-15 21:15:06 -05:00
Automatic Committer
58cc0108e9 Update pci.ids from pciids.sourceforge.net 2015-12-10 05:20:24 +01:00
Dario Casalinuovo
ec7d3b4053 Move old launch_media_server to deprecated file 2015-12-06 15:09:12 +01:00
Dario Casalinuovo
1acc73c437 Deprecate media_realtime_init_* functions 2015-12-06 15:03:49 +01:00
Dario Casalinuovo
aad4b937be media_kit: Add Deprecated.cpp file 2015-12-05 19:04:52 +01:00
Dario Casalinuovo
226be01113 media_kit: General maintainance
* Move !missing_symbols.cpp in the legacy directory.
* Move useless methods in a Deprecated.cpp file.
* SetRealtimeFlags / GetRealtimeFlags are useless, they
don't make sense nowadays.
* The symbols are anyway preserved.
2015-12-05 18:59:38 +01:00
Dario Casalinuovo
2b480e44f3 AddOnManager: Fix logic inversion 2015-12-05 13:16:00 +01:00
Dario Casalinuovo
f798491a8f FFmpegPlugin: Remove forgot variable 2015-12-04 12:18:52 +01:00
Dario Casalinuovo
8cd14ac0cd BMediaEncoder: Style fixes 2015-12-04 01:33:53 +01:00
Dario Casalinuovo
7f3ca22e46 AVCodecEncoder: Solve a crash at personalStudio startup
* This makes the app to start, but it's not enough
to have it show the window.
2015-12-04 01:33:53 +01:00
Dario Casalinuovo
2d50879085 BMediaEncoder: Proper handling of i/o formats 2015-12-04 01:33:52 +01:00
Dario Casalinuovo
3bc039b9f1 media_kit: Add encoding support facilities 2015-12-04 01:33:52 +01:00
Dario Casalinuovo
c3b461d8a9 AVCodecEncoder should not know the format 2015-12-04 01:33:52 +01:00
Dario Casalinuovo
537ea80adf BMediaEncoder: Style fixes 2015-12-04 01:33:51 +01:00
Automatic Committer
504fda3f51 Update pci.ids from pciids.sourceforge.net 2015-12-03 05:20:21 +01:00
Dario Casalinuovo
9bc60a8bc0 BMediaEncoder: Init/Release code cleanup. 2015-12-02 16:08:07 +01:00
Dario Casalinuovo
106539c239 Implement BMediaEncoder::write_chunk 2015-12-02 16:08:07 +01:00
Dario Casalinuovo
2b51499295 Initial implementation of BMediaEncoder
* People interested, please review!
* This is based on the patch from Fredrik Moden which was based on
the Oleg Krysenkov one.
* The original patch has been reworked by myself.
* Adapted the code to work with the new PluginManager API which
differently than before doesn't need to contact the media_server.
2015-12-02 16:08:06 +01:00
Jérôme Duval
0df4a177d7 app_server: declare jam dependecy for AlphaMaskCache to freetype 2015-12-01 02:57:42 +01:00
Dario Casalinuovo
6423f87f9e BMediaRoster: Reference count polishment
* BMediaNode is registering it's presence to the roster.
* Only addons needs their configuration to be saved.
2015-11-28 16:35:06 +01:00
Dario Casalinuovo
d98b8c7c59 BufferCache: More strict validity checks
* This add a debugger call if the BBuffer id is
mismatched at object creation.
2015-11-28 16:35:05 +01:00
Dario Casalinuovo
67060664c9 Allow BMediaRoster to log local nodes
* BMediaRoster is now capable to know which nodes are
instantiated in this team. This is also a first step to make
them survive after media_server crashes.
* A control at BMediaRoster::Quit can notify if all nodes
were correctly released. Ideally at this point the local nodes
list should be empty.
2015-11-28 16:35:04 +01:00
Dario Casalinuovo
05962bb1e1 Add a way to register loopers for quit
* BApplication can now take the job to quit a BLooper at
the application quit. It's rejecting requests from windows too.
* BMediaRoster is using now this service in conjunction with the
MediaRosterUndertaker.
* The BeBook specify that we should have a valid BApplication
before to instantiate the BMediaRoster. While in theory we should
add a debugger call when this situation happens, in pratice this
might lead to more problems. For example libraries might use the
media_kit and create a BApplication object, but they aren't
applications, this is a design problem. So I decided to replace it
with a TRACE call for the moment.
2015-11-28 16:35:03 +01:00
Axel Dörfler
893e3de866 mail_daemon: Converted to BServer. 2015-11-28 14:18:18 +01:00
Axel Dörfler
59e6d9d2e2 launch_daemon: Maintain pending jobs for requirements.
* If a requirement cannot be launched, a job is now added to the
  requirement as pending job.
* If the requirement enters the launch queue at a later time, the
  pending job will be put there, too.
2015-11-28 14:00:36 +01:00
Axel Dörfler
236e68efdc launch_daemon: Check requirements before launching a job.
* They were only launched, but we didn't check if we can actually
  launch them.
2015-11-28 14:00:01 +01:00
Axel Dörfler
ea3e5d43d5 passwd: Fixed copy&paste error in error message. 2015-11-28 13:59:19 +01:00
Jérôme Duval
f9422dc81d x86_gcc2: add dependency on ssl libs on haiku.hpkg. 2015-11-28 10:06:46 +01:00
Jérôme Duval
e7e318fc73 haiku-x86: add a dependency on libssl and libcrypt 2015-11-26 18:58:14 +01:00
Automatic Committer
087cbdf98d Update pci.ids from pciids.sourceforge.net 2015-11-26 05:20:22 +01:00
Jessica Hamilton
d5449f12d4 app_server: add another missing dependency on freetype 2015-11-26 14:44:51 +13:00
François Revol
e3c95b5aa1 usb_disk: add icon for mobile phones
Add a match for my Kazam dumb phone, which is not very descriptive...
2015-11-26 01:17:24 +01:00
Jérôme Duval
c5c31f4118 haiku-x86/haiku-x86_gcc2: make some dependencies feature dependent. 2015-11-24 20:20:52 +01:00
François Revol
eff74a3387 usb_disk: use SD card and Memory Stick icons when found
Check for partial matches on the product_name string.

Tested with a USB card reader and an SD card.

Feel free to add icons for Compact Flash and Secure Media and more matches.
2015-11-24 14:30:48 +01:00
François Revol
6c51d2639b usb_disk: use CD icon for optical media
Tested with a CD drive and a USB adapter.
2015-11-24 14:28:30 +01:00
François Revol
ce27a0cc0a usb_disk: add some icons
- CD
- SD
- MemoryStick
2015-11-24 12:26:10 +01:00
Rene Gollent
a9aa59ef7c Debugger: Fix #12499.
DebugReportGenerator/UiUtils:
- When traversing the value node graph, detection of the case of
  an address type with a compound child wasn't taking type modifiers
  into account, leading to it sometimes not traversing down to members
  when it should, and consequently not reporting those members in a debug
  report.
2015-11-23 22:31:01 -05:00
Axel Dörfler
9b9e7ec808 E-mail: Converted auto config window to layout API.
* It still doesn't work correctly yet again, though; the servers cannot
  be configured there.
* I'm leaning towards removing the server configuration there, as they
  can easily changed in the add-on preferences from the same preferences
  application; the way it was done was pretty much a hack. Any hard
  feelings about this?
2015-11-23 21:50:42 +01:00
Jérôme Duval
69a973e2f7 screen_blanker: fix warning. 2015-11-23 20:48:15 +01:00
Jérôme Duval
2bc202c430 XHCI USB: Add port routing for Intel WildcatPoint LP USB.
* from FreeBSD.
2015-11-23 20:47:15 +01:00
Jérôme Duval
95c8163a16 Add Hangul and Hangul_Hanja keycodes for korean keyboards.
* map both keys on USB keyboards. Untested.
2015-11-23 20:04:22 +01:00
Jérôme Duval
3dd0c8198e PackageRules: use valid macro names in defines. 2015-11-23 18:16:08 +01:00
Simon South
dbf060a3f7 libroot: Add brk() and sbrk().
This commit replaces the placeholder implementation of sbrk(), which
operated on a process' heap, with real implementations of brk() and
sbrk() that adjust a process' program break.

* unistd.h: Add standard definitions of brk() and sbrk(); include
  stdint.h for intptr_t.
* thread.cpp: Recognize RLIMIT_AS and RLIMIT_DATA resource limits
  (both currently unlimited); order limit identifiers alphabetically.
* arch-specific.cpp: Remove sbrk_hook().
* malloc_debug_api.cpp: Remove sbrk_hook().
* unistd/Jamfile: Build brk.c instead of sbrk.c.
* unistd/brk.c: Add.
* unistd/sbrk.c: Delete (placeholder implementation).
* libroot_stubs.c: Remove sbrk_hook().
* libroot_stubs_legacy.c: Remove sbrk_hook().
* src/tests/.../posix/Jamfile: Build brk_test.c.
* brk_test.c: Add (simple unit test that demonstrates behaviour of
  sbrk()).

Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2015-11-22 17:59:22 +01:00
Jérôme Duval
d8e8078b3f net_server: warning on delete of address of a reference.
* fixes #12244.
2015-11-22 11:51:56 +01:00
Jérôme Duval
b8c67b27cc haiku-x86_64: make some dependencies feature dependent. 2015-11-22 11:47:29 +01:00
Axel Dörfler
62eec60079 SMTP works again.
* The message to send the mails never made it to the add-on looper.
* Mail protocol threads now have names.
* Added a "public" BOutboundMailProtocol::SendMessages() call that sends
  itself a message (even the correct one this time).
2015-11-22 11:35:17 +01:00
Axel Dörfler
0295da8893 Mail: Set min size in prefs instead of some random number.
* Since min/max size of the menu had contradicting values at larger font
  sizes, the layout was confused.
2015-11-22 11:34:45 +01:00
Axel Dörfler
04f969a596 BWindow::MoveOnScreen(): Need to use inner frame for resize.
* This caused the window to grow each time.
* This was especially noticeable at applications that store their
  size on quit, and restore it on start.
* This fixes bug #12456.
2015-11-22 11:33:49 +01:00
Jérôme Duval
56a0f2b3be haiku-x86_64: add a dependency on libssl and libcrypto
* this should be feature dependent though.
2015-11-21 12:22:16 +01:00
Jérôme Duval
946163e318 ffmpeg: fix x86_64 build. 2015-11-21 12:01:01 +01:00
Jérôme Duval
af585d0361 pkgman search: Add --requirements option 2015-11-20 20:55:12 +01:00
Jessica Hamilton
08006f7c8f efi_gpt: properly fix block offset calculations for partition entries
In 2346363b, had corrected the offset writing to the disk, but missed
correcting the offset for reading from the entries struct.

Instead of writing a block, just write the single entry, simplifying
the offset logic considerably.
2015-11-20 20:26:45 +13:00
Adrien Destugues
856cc59e58 AVCodecDecoder: use swresample to interleave audio channels.
Some codecs will always output audio in planar mode no matter what we
request. This is the case for example with AAC used for youtube. We now
use swresample to convert from planar to packed format.

Note that since swresample does its own buffering, we could probably do
away with some of the code that handled buffering before, making the
audio pipeline simpler and faster.

Fixes audio in youtube, but now the video plays at 2x speed. It seems
something is wrong with the timestamps. Possible things to investigate:
* why do we use the packet dts instead of the pts from the frames anyway?
* the pts and pkt_dts are in "stream time_base units". We seem to assume
  microseconds for audio but this is probably not the case. Or did I
  miss where the conversion is done?
2015-11-19 22:53:22 +01:00
Automatic Committer
235725ef91 Update pci.ids from pciids.sourceforge.net 2015-11-19 05:20:23 +01:00
Julian Harnath
ff535a92ce app_server: declare jam dependecy for Layers to freetype 2015-11-18 14:58:47 +01:00
Julian Harnath
b0f4e518cd app_server: fix gcc4 build 2015-11-18 14:58:29 +01:00
Julian Harnath
718f352859 app_server: bitmap interpolation; fix out-of-bounds access
* Optimized code path for bitmap drawing with bilinear interpolation
  scaling was assuming that source bitmap is always at least 2 rows
  in size.

* Fixes #12469: in webkit, scaled 1-pixel-high bitmaps often occur.
  If the bitmap allocation is by chance aligned to a page end, access
  to the non-existant second row crashes app_server.
2015-11-18 14:40:17 +01:00
Julian Harnath
345d9bb4a2 test_app_server: fix build 2015-11-18 14:04:19 +01:00
Jessica Hamilton
823513263e WebPositive: fix count of pagesCreated when starting up.
With the new session restore code in WebPositive, it would
restore the session and then open an extra window on top, as
the pagesCreated counter did not add the new window(s) to the
counter, only new tabs.
2015-11-18 11:02:04 +13:00
Axel Dörfler
7125795f6a E-mail: Fixed initial window size.
* It did not take the height-for-width view into account.
* However, the explicitly set preferred size seems to be ignored.
2015-11-16 20:44:56 +01:00
Axel Dörfler
670cfb15a5 BWindow: lock the looper in some new methods.
* This makes it more convenient to call them from someplace else, and
  follows the design used in the rest of the implementation.
2015-11-16 20:43:20 +01:00
Axel Dörfler
67c3eeebdc Mail: sizing/placing cleanup.
* Don't set a default fixed font size - just use the default fixed font.
* The preferences and signature window no longer have a default size,
  and position, either. Instead, they are placed over the active window.
* Fixed spacing in the preferences window.
* Converted the signature window to use the layout API.
* Minor cleanup.
2015-11-16 20:39:47 +01:00
Axel Dörfler
65484549f0 libunwind: Fixed build warning. 2015-11-16 20:37:18 +01:00
Axel Dörfler
28da8a4c90 Mail: corrected spacing after window spacing change.
* The button panel shouldn't be indented at all.
* The header panel was intented twice, once by the surrounding layout,
  once by its own.
2015-11-16 20:35:04 +01:00
Julian Harnath
3c9d8d6460 app_server: fix race condition in alpha mask cloning
* Add a lock which is acquired when reattaching/regenerating masks,
  and also acquired for a cached mask before making a clone of it,
  to prevent the clone from having an inconsistent state in
  concurrent edge cases.

* Maybe fixes #12469
2015-11-15 22:05:26 +01:00
Jérôme Duval
ac7f52fc91 app_server: fix x86_64 build. 2015-11-14 19:37:59 +01:00
Jérôme Duval
81768f44e7 XHCI USB: include in the Haiku package, only enabled two devices
for now.
2015-11-14 19:37:59 +01:00
Adrien Destugues
894640da2d ffmpeg: recognize planar audio and request packed instead
* Our media kit is designed to work with packed audio: which means the
  samples from different channels are interleaved in a single stream
* Old ffmpeg versions also used this, but they now switched to the
  planar format, where each channel is stored separately.
* Fortunately, we can request ffmpeg to use the packed format. We
  actually already tried to do that, but the API for requesting a sample
  format has also changed.
* Finally, we didn't recognize the packed format reported by the codecs,
  which in some cases could lead to 16/32 bit mismatches on top of the
  planar/packed mixup.

Fixes audio with ffmpeg 2.8 (ticket #12460)
2015-11-14 19:22:26 +01:00
Julian Harnath
6b56f7d282 app_server: add a few missing std::nothrow 2015-11-14 16:09:54 +01:00
Julian Harnath
b54b3ae511 app_server: add a cache for AlphaMasks
* If the same shape alpha mask is set again and again, we now keep
  the rendered masks in a cache. On certain websites, WebKit sets
  the same shape for clipping hundreds of times, which uses a lot
  of time to render the masks.

* When a shape mask was generated, we put it into AlphaMaskCache.
  The constructor for ShapeAlphaMask is made private and a factory
  method is used for instantiation instead, which transparently
  looks up in the cache whether a suitable mask was already generated
  before (so the entire caching is encapsulated inside the AlphaMask
  class).

* When taking a mask out of the cache, we still create a new
  AlphaMask instance. However, the new instance will share the
  mask bitmap with the previously generated instance (aside from
  the rendering of their bitmap, AlphaMask instances are pretty
  lightweight). Shape masks are only seen as identical when
  their shape is the same, the inverse flag, and they have the
  same parent mask.

* Cache is limited to a fixed size of currently 8 MiB, using a
  simple random replacement scheme. An LRU scheme can be added in
  the future if necessary. Counting of bytes for the cache size
  includes parent masks of masks in the cache, even if the parent
  itself is not cached. A reference counter for "indirect" cache
  references keeps track of which masks are not part of the cache,
  but still need to be added to the cache byte size.

* For now, only for ShapeAlphaMasks, other mask types can be added
  as necessary.
2015-11-14 16:09:52 +01:00
Julian Harnath
10df15449b app_server: plug leak of layers when empty clipping
* If there is an empty clipping region (invalid clipping) for the
  current view, a new layer could still be started, but not ended
  anymore. That's because unlike begin layer, end layer is handled in
  _DispatchViewDrawingMessage (because it can do actual drawing)
  and this method checks whether the clipping is valid and bails out
  if it isn't.

* Add an exception for the AS_VIEW_END_LAYER command code to still
  process it even when the clipping is invalid. The layer itself
  can after all set a valid clipping later on when its command list
  is played back. And even if it doesn't, we still have to play it
  to make sure nested layers are cleaned up.

* Fixes the memory leak in #12460 where webkit creates
  said situation: it had a layer open and then the closing was
  ignored due to empty clipping. All subsequent layer calls created
  nested layers in that one, hundreds of them, and their BPictures
  contained bitmaps, quickly eating up and leaking hundreds of MiB
  in app_server.
2015-11-14 16:09:49 +01:00
Julian Harnath
0fab27a23e app_server: don't ignore invisible layers
* When a layer has opacity 0, we can't just ignore it, we still
  have to play back its picture, even if the drawing will never
  appear on screen. This is because there might be nested layers
  and if they don't get blended, their references are not released.
  Also, it can be argued that state changes in the layer should be
  applied even if the layer is invisible (if we ignore it there,
  it would be inconsistent with other layers).

  This edge case of invisible layers could be optimized further, but
  it is rare enough anyway, so this should do.
2015-11-14 16:09:47 +01:00
Julian Harnath
2193dcd799 app_server: plug DrawState instance leak, other minor fixes
* OffscreenCanvas was not deleting its DrawState. Found thanks to
  the allocation tracking feature in libroot_debug (thanks mmlr!)

* Also a missing nothrow and a missing ref release in an error case
2015-11-14 16:09:45 +01:00
Julian Harnath
bcc5cf7d29 test_app_server: fix use after free
* Caught with libroot_debug
2015-11-14 16:09:43 +01:00
Julian Harnath
e718dc9178 app_server: Clip alpha masks to canvas size
* Making the alpha masks independent of view size is a good thing,
  however it turns out that I was too optimistic about the
  consequences: webkit sometimes sets masks for the whole page, not
  just the currently visible area. E.g. on Github diff views, it
  was seen to set a clipping path which is about 1,000 x 10,000
  pixels in size. Generating these huge masks eats up lots of memory
  and time.

* We now clip the alpha masks to the current view size. This
  introduces a dependency between mask and view again, however a
  weaker one than it used to be before the mask rework. When the
  view is enlarged, and the alpha mask was previously clipped during
  rendering, we regenerate it at the new size. When the view is
  shrunk however, we don't do anything and just keep the
  now larger than necessary mask around (so we don't have to
  regenerate again when the view is subsequently enlarged again --
  except if it then becomes even larger than it used to be).
  Changing the view origin is unaffected and still doesn't cause a
  regenerate.
2015-11-14 16:09:40 +01:00
Adrien Destugues
7460727d4a IP address control: don't try to DNS resolve
* This is used when configuring the DNS client, so resolving will not
  work
* It is supposed to be a control for entering IPs, not domain names.

Fixes #12464.
2015-11-13 21:50:11 +01:00
Adrien Destugues
1f70a8df4b SecureSocket: enable auto retry on connexion re-negociation
This is required to talk with the proxy in Thalys trains.
Now I'm online and I can push this!
2015-11-13 18:25:35 +01:00
Adrien Destugues
2ecff85ce1 HttpRequest: don't send an empty URL for GET request
* The new proxy in Thalys trains doesn't like that.
2015-11-13 18:23:52 +01:00
Adrien Destugues
f86df64b91 Web+: implement a simple session management system.
When quitting the app or closing the last window, all windows and tabs
are stored in a "Session" file. This is reloaded when the browser
starts, allowing to restore all windows and tabs.

Limitations: the page content and navigation history are not saved. The
file is written only at exit so this can't be used for crash recovery
(but you can make a backup of your default session).

Fixes #6680.
2015-11-13 14:32:13 +01:00
Axel Dörfler
be741f6ec1 Minor cleanup of translator roster commit, updated copyright. 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
Adrien Destugues
43c2927886 pkgman: show old version when updating packages. 2015-11-13 11:02:49 +01:00
Adrien Destugues
6ae8d586ea Web+: More reasonable default size for cookie manager. 2015-11-12 14:07:28 +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.
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
Automatic Committer
9311f342ef Update pci.ids from pciids.sourceforge.net 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.
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.
2015-11-11 15:11: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).
2015-11-11 16:04:02 +01: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.
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.
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
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
Adrien Destugues
f1c1a9dfa8 SecureSocket: stubs for no-openssl version 2015-11-11 01:50:17 +01:00
John Scipione
408a2da5c6 Tracker: Set low color before drawing column name
Fixes #12084
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
2015-11-11 01:16:38 +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
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
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
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
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
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
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
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
François Revol
c4ad6501bc googlefs: provide get_vnode_name
This works around the VFS bug I just fixed. :D
2015-11-08 04:48:51 +01:00
François Revol
3d58615e3a googlefs: make the close/free hooks more robust 2015-11-08 04:48:48 +01:00
François Revol
2e04b3a2b9 googlefs: fix a possible race condition 2015-11-08 04:48:45 +01:00
François Revol
747e0ba247 googlefs: typo 2015-11-08 04:48:42 +01:00
François Revol
5aeaaebad9 googlefs: fix parsed urls
we now get relative URLs it seems...
2015-11-08 04:48:40 +01:00
François Revol
02487f3c4b googlefs: fix parsing 2015-11-08 04:48:37 +01:00
François Revol
26b35e649f googlefs: force disabling HTTP redirection from Google
We don't really handle HTTP REDIRECT...
2015-11-08 04:48:34 +01:00
François Revol
49d3cc2a78 googlefs: error handling
Damn this code is ugly!

Also dump the header we get to /tmp
2015-11-08 04:48:31 +01:00
François Revol
25472bc40a googlefs: update default Google server 2015-11-08 04:48:28 +01:00
François Revol
c518435bb1 VFS: pass correct vnode to fs calls in default get_vnode_name
The opendir and closedir/free_dircookie hooks were called with
mismatched vnode. It seems only googlefs is actually affected by this,
since all other fs without a get_vnode_name just don't are about the
passed vnode arg to closedir and free_dircookie.

Now I should really get some sleep!
2015-11-08 04:32:57 +01:00
François Revol
8f4a653ca6 VFS: typo 2015-11-08 04:32:57 +01:00
Jonathan Schleifer
93bcaf3650
arm/arch_exceptions.S: Replace spsr_all with spsr
After a quick look at binutils, they seem to be equal, however, Clang
does not accept the _all one.
2015-11-08 00:59:18 +01:00
Jonathan Schleifer
15d594cccd
ARM: Add __aeabi_memset and __aeabi_memmove alias 2015-11-08 00:54:32 +01:00
Jonathan Schleifer
d8548e00aa
Fix some more type mismatches with std::{min,max} 2015-11-08 00:44:18 +01:00
Jérôme Duval
6c4cca34c2 glibc: replace extern __inline with __extern_always_inline for x86.
* also update __atan2l for x86, update __FAST_MATH sections.
2015-11-08 00:38:20 +01:00
Jérôme Duval
b49dd60c46 Drop namespace std after 95d4ed6778. 2015-11-08 00:38:19 +01:00