9395 Commits

Author SHA1 Message Date
Jérôme Duval
9c9a810c41 Media Kit: BBufferCache: if not reclaimed, only mark the buffer for deletion
hrev53379 clears the buffer cache for disconnected clients, and also delete buffers.
This is too early (see #15263, media_addon_server crash), and should only happen
after the buffer is recycled. This can be resolved by abusing the fFlags field of
BBuffer to mark the buffer for deletion, and mark the buffer to be reclaimed.
Some BBuffers don't reside in the SharedBufferList, so we have to mark them as to
be reclaimed. For those in the SharedBufferList, call a new RemoveBuffer(), which
can check whether the buffer is still to be reclaimed. For reclaimed BBuffers,
delete them right away, others can be marked for deletion.
fixes #15606 #15263, possibly #15433

Change-Id: I66e94138e7e10a40d4c48e2ac042f816c79f5aab
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2245
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: X512 <danger_mail@list.ru>
Reviewed-by: Ryan Leavengood <leavengood@gmail.com>
2020-02-16 08:38:49 +00:00
Jérôme Duval
27fee67244 Media Kit: let launch_daemon know that media_server will quit
'Restart media services' in Media Preferences works better.

Change-Id: Ifbffdbd81ee851ae3e7d3dfd14f3d5f41ac155ce
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2240
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2020-02-14 14:24:13 +00:00
Adrien Destugues
8854b89737 PaneSwitch: fix a layout issue with large font sizes
This is used in Find window and also in Installer.

Remove some unused code (I think leftovers from Tracker InfoWindow
refactoring).

Change-Id: Ic0dd07e06c11b3839adbe5b8ef9598a5b16171a6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2234
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-02-09 20:52:27 +00:00
Adrien Destugues
0e280da525 SecureSocket: fix non-blocking reads
OpenSSL says we should retry when a non-blocking read finds no data is
pending. But in that case we should not retry immediately, because the
operation should be non-blocking.
2020-02-08 22:21:27 +01:00
Augustin Cavalier
2b19786285 Tracker: Remove unused variable.
Fixes the build (due to a -Werror).
2020-02-08 12:34:00 -05:00
Olivier Coursière
4c8c060bc4 Make the FilePermissionView font size aware
Change-Id: Ibf100e1068a4807dca34c827acdd195e7effd535
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2196
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-02-08 16:38:09 +00:00
X512
b3de8bea44 Package Kit: convert HTTP error code only on BHttpRequest
Other request types exists such as BFileRequest.

Fixes #15675.

Change-Id: Ib2e07fad4dd9f682d2b9fc0cdbf0ca60ecd3adfb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2200
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: François Revol <revol@free.fr>
2020-02-05 14:55:45 +00:00
Ryan Leavengood
e10de1ecf5 Visually align shortcuts in menus
In a menu, we use the right side both for submenu arrows and shortcuts.
As a result, when an entry has both a shortcut and a submenu, its
shortcut is not aligned with others, and this does not look so nice.

The spacing for the arrow appears only if there is a submenu in any of
the items in the parent menu.

Change-Id: If91fdcdad36abb0141fb05d1f59141f89540c1db
Reviewed-on: https://review.haiku-os.org/c/haiku/+/355
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Ryan Leavengood <leavengood@gmail.com>
2020-02-04 23:06:54 +00:00
François Revol
0ef0921d99 Package Kit: Return proper errors in FetchFileJob
This should give more meaningful errors in pkgman
(not so sure, feel free to tweak the mapping),
and also avoid running the next job if fetching failed.

Change-Id: If76968f705ff25f7ecf1a5f91d88a02040d24665
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2186
Reviewed-by: Ryan Leavengood <leavengood@gmail.com>
2020-02-04 02:18:09 +00:00
Adrien Destugues
8769583f90 Build fix. 2020-02-03 22:19:22 +01:00
Adrien Destugues
3bea15adca BSecureSocket: retry reads after interrupted syscalls.
SSL_AUTO_RETRY does not cover this case (it only covers SSL errors, not
underlying socket ones), so we still need to retry reads manually here.

Fixes #14638.
2020-02-03 21:47:08 +01:00
Jaroslaw Pelczar
cbdb30f467 arm64: Add more random scripts to get stuff to compile
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: Ie043af5b7471f626a1ffe100848151c832dcc439
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1853
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2020-01-25 08:50:51 +00:00
Murai Takashi
992ae400ec Fix catching by value
Pointed out by LGTM.
Change-Id: I223655c728305f6f45b3738553da5b7d7a69e8c8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2134
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-01-21 19:26:22 +00:00
Kyle Ambroff-Kao
654135466f support/BPath: Flatten should work on empty BPath
BPath::Flatten() on an empty path returns B_OK in BeOS R5, just
writing an empty entry_ref to the povided buffer. The Haiku
implementation has some additional validation that causes B_NO_INIT to
be returned instead.

This patch attempts to recreate the same behavior of BeOS in this
situation.

* Don't check for initialization in BPath::Flatten(). Instead,
  just write an empty entry_ref to the provided buffer if the BPath is
  empty.
* Fix estimation of expected size when testing the return value of
  BPath::FlattenedSize().
* Clean up warning by removing unecessary forward-declaration of
  CppUnit::Test.

Change-Id: I88880cbb298bdcb594c9c8fef48314165c49e9e5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2115
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2020-01-21 09:36:42 +00:00
Kyle Ambroff-Kao
7037b5d9bc support/Archivable: Reset errno in validate_instantiation()
validate_instantiation(BMessage*, const char*) sets errno for invalid
input, or if the requested class is not found, but it doesn't reset
errno to B_OK if validation succeeds.

I verified that in BeOS R5, errno is set to B_OK if
validate_instantiation succeeds.

This fixes BHandler::Instantiate2 and BHandler::Instantiate3 tests.

Change-Id: I531777e6ba47e9635da2da1fc8c8103bb233b0f3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2136
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-01-21 08:46:20 +00:00
X512
59b700d086 Interface Kit: remove more workarounds for BDragger
This workarounds are no longer needed after hrev53713.

Change-Id: I7b809c79bd9d2345a991f0d2360f79876d10cd6b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2132
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2020-01-19 18:25:22 +00:00
X512
c4a686d8d1 Interface kit: fix displaying draggers when they were initially hidden
IsHidden(this) should be used instead of IsHidden() because IsHidden() return
true if window is hidden (at moment of creation for example).

Fixes #15646.

Change-Id: I08c8bacd634139dd62fb239e16cb80f512e4be6d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2128
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2020-01-19 18:22:41 +00:00
X512
52ac76ce34 Interface Kit: fix BDragger background drawing
Change-Id: I1ce8eca127e14af0652ef38fedcbbf588f1567fd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2092
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2020-01-16 13:23:57 +00:00
X512
db7c4791bb Interface Kit: read reply before calling hooks.
Part of #15548.

Change-Id: I074d36717ef1e2fad4e8bc215448fa72f797ed7f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2099
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2020-01-11 18:54:36 +00:00
Humdinger
a00b7c2f18 DoCatalogs for VirtualDirectoryWindow
Fixes #15601
2020-01-04 16:59:13 +01:00
Adrien Destugues
755a88de68 Actual build fix. 2019-12-31 17:20:01 +01:00
Adrien Destugues
c67336bf3f Build fix. 2019-12-31 16:38:48 +01:00
Adrien Destugues
d57174ea94 BLanguage: check locale validity in SetTo.
Fixes #15514
2019-12-31 14:26:32 +01:00
Kyle Ambroff-Kao
fbc30e9145 support/String: Revert 6c67c7d63 to fix double-free
6c67c7d63 was attempting to fix a leak caught by a static analysis
tool, but it actually just introduced a double-free bug. Running
`UnitTester BString` will result in a crash.

The original code was correct because, in the event that realloc()
fails in BString::_Resize(), the value of fPrivateData is still
retained. It will be freed by the destructor of BString only if
fPrivateData is not shared by another BString instance, since BStrings
are copy-on-write.

Note that while the change in 6c67c7d63 caused tests to fail, that
doesn't mean those tests are ideal. They only trigger
BString::_Resize() to fail because they depend on implementation
details of hoard2 which limits allocations via malloc() to
1GB. Most malloc() implementations will allow allocations of arbitrary
sizes using anonymous mappings (mmap on Linux, or create_area() in
Haiku). This is a much bigger change, so for now I'm just adding some
comments so that we can revisit these tests if we make a change to the
allocator.

Change-Id: I208c1c7a76b6b4409d237b911c62bb3198e49dab
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2060
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2019-12-31 11:03:59 +00:00
Adrien Destugues
d9e196c7f5 DefaultMediaTheme: move controls to a namespace
They have generic names and are likely to conflict with other things. In
particular, there is another BPrivate::TitleView in BColumnListView,
which results in weird behavior (and me wasting days debugging things
and scratching my head) when one links libmedia before libcolumnlistview
and the wrong one ends up being called.
2019-12-26 22:54:54 +01:00
Adrien Destugues
4766e7fe56 Tracker InfoWindow: collapse borders and make resizable
Fixes #15344.

Change-Id: I3560137248babb88e9475efb775675decb4d1181
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2050
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-12-22 20:59:26 +00:00
Jérôme Duval
b073975e18 media: fix 64-bit debug build
Change-Id: Ie8c19fc5f067da9973cc52ec4c787a4ad36e390c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2044
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-12-21 20:33:11 +00:00
Jérôme Duval
feeb4b5d93 RosterPrivate: add IsShutDownInProgress()
enable to check whether a shutdown process is in progress.

Change-Id: I8efdddb3caa80e9fd188f202b6e92a888a7608e5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2042
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-12-21 20:32:31 +00:00
X512
bb501d4c74 BTextView and BListView: fix scripting
fix #15539

Change-Id: I5139b91214e19b35af1ead203c070837b7a15bd9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2017
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2019-12-16 09:51:16 +00:00
Adrien Destugues
baa739985b FileGameSound: remove superfluous parentheses.
Pointed out by Axel on haiku-commits.
2019-12-11 13:24:39 +01:00
Kacper Kasper
c67dde0f2c app_server: Add tiled bitmap drawing routines
Change-Id: I9a7bd967f2cc95d815a66707b764cf5e33b3f8ed
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1962
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-12-09 12:22:28 +00:00
Adrien Destugues
69f814cded BFileGameSound: allow initializing from a BDataIO
There is no reason to not allow this, and it makes it possible to load
data from eg. a BResource instead of a file, which is very useful.

Remove some unused members in the class and dead code, and fix style
issues.

Change-Id: I94cbd0c13c469ea80f55028cf33dfde2de4365ef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2001
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2019-12-09 12:00:17 +00:00
Murai Takashi
2a49e094a6 Tracker kit: Fix memory leak
Like moveList and copyList, duplicateList could be deleted here.
Pointed out by Clang static analyzer.

Change-Id: Ic80181af960bc8eb759449ea5719e9a439a877a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1996
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-12-07 09:32:09 +00:00
Adrien Destugues
4236826da6 BGeolocation: build fix 2019-12-04 17:42:53 +01:00
Adrien Destugues
edc5a2174e BGeolocation: add position to country mapping
Using the geonames.org API, so we will need an API key for it (similar
to the one used for MLS, deployed by the buildbot)

The unit tests uses the "demo" user, which is restricted to 20000 API
call credits and often expired. But we cannot use our secret key here as
it would need to be available to anyone running the test. If we ever get
to automate running the tests on a buildserver we could probably make it
use the secret username known by our buildbot instead.

Change-Id: Ia16880db82555ce85505ad28e1c623f692f46be0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1873
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2019-12-03 08:01:14 +00:00
Adrien Destugues
70cdd7d4f5 BCountry: add SetTo and InitCheck.
Change-Id: I5fbc2a1c0e735d6edeb23672017bb64d1b3f4390
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1872
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-12-02 12:32:15 +00:00
John Scipione
ea5c088d09 Tracker: fix fall back to bitmap icon
We can convert a bitmap icon to B_RGBA32 and scale it at the same
time if we pass in the right size to IconUtils. Don't error out,
force the icon_size to be either B_LARGE_ICON or B_MINI_ICON,
grab the bitmap at that size then convert and scale it.

Implement a second fallback. If the scaling and converting fails
then use ImportBits to convert the icon from B_CMAP8 to B_RGBA32
then center it without scaling.

Fill with transparent before drawing bitmap to prevent artifacting.

Fixes #9554

Change-Id: I827589236fa4f1521e3139ec29b7d60d51d2f879
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1960
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-11-22 23:25:51 +00:00
John Scipione
fb3493dfef BControlLook: Move tab frame drawing into DrawTabFrame()
The tab frame is drawn behind the tabs.

Create a new DrawTabFrame method in BControlLook and HaikuControlLook
that draws the tab frame background.

Until now we've been reusing the DrawInactiveTab method to draw the tab frame
in BTabView. While this works on HaikuControlLook, it doesn't work on other
ControlLook's (such as BeControlLook) that draw their tab frame differently.

Add FBC method to preserve binary compatibility on gcc2 and gcc4.

Move DrawTabFrame method to where _ReservedControlLook1 was in header.

Set rect to area of tab frame in TabView instead of doing the
calculation in HaikuControlLook so that others may benefit.

Change-Id: I513e238914f6d680f495659b6ec902df15555015
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1936
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-11-22 23:24:05 +00:00
Axel Dörfler
f1271b6454 BPath: Removed superfluous term 2019-11-19 17:35:19 +01:00
Adrien Destugues
9c89ceb807 BTextView: missing archiving of HideTyping()
This was not stored in BeOS, but that looks like an oversight on their
part and adding it is unlikely to break anything.

Change-Id: I5dbaeb85adf97afc5040a3ecc1bff264af0b0b57
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1888
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2019-11-06 07:36:20 +00:00
Humdinger
894c9f268c Localizing "Attributes" tab of InfoWindow
Change-Id: I38bacade1f7e9648e7ef80ca39cc197410e7114f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1923
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-10-20 16:51:03 +00:00
Adrien Destugues
083314c2cb Create the port pool in MediaRosterUndertaker
Follow up to #15135, which created a regression, apps would crash if
using the port pool before creating a BMediaRoster instance. Now the
port pool is entirely managed by the MediaRosterUndertaker, which is
less confusing.

Fixes the media_addon_server crash on shutdown for me as well, but I
don't remember why (I had studied the code and came to the conclusion
that this should fix it, but I don't remember the reasoning).

Fixes #15263, and regressions for apps using the port pool before they
instanciate the BMediaRoster.

Change-Id: I887dbc590d8ee9de391b6eae0206944bfe99325f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1897
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2019-10-05 21:09:43 +00:00
Kacper Kasper
14c3e38739 Discard column info in Debugger
* With them Debugger doesn't allow setting breakpoints inside functions.
* Workaround for #15159. Further explanation by anevilyak is also there.

Change-Id: I661b7dcb28a4c02f671b85cb5c26fa0bd5a53078
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1892
Reviewed-by: Rene Gollent <rene@gollent.com>
2019-09-28 01:27:42 +00:00
Adrien Destugues
07838f4cd3 BTextView: preserve ViewUIColor when unarchiving
When unarchiving, we can rely on BView to properly restore the colors,
and we should not alter them. So move the code doing that outside of
_InitObject, and into all non-unarchiving constructors instead.

Change-Id: I98050c69bb3b8edf6e77ad0498e2dade5eaadb1d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1887
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-09-27 22:53:42 +00:00
Adrien Destugues
23d6916acd Tracker InfoWindow: cleanup of size string invalidation code
Should fix #15351.
2019-09-23 20:25:33 +02:00
Adrien Destugues
79e2e1b971 Fix accidental code removal in tracker infowindow refactoring
Should fix #15322 and #15352
2019-09-23 20:08:46 +02:00
Murai Takashi
04a1ee9750 libnetapi: Fix 'new[]' array freed with 'delete'
sMutexBuf is allocated by new[] in SSL::SSL(), but freed by delete.
Pointed by LGTM.

Change-Id: Ic16501883be4e3b7ca5fe24e1585b6e14ae3ff36
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1883
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
2019-09-21 16:09:51 +00:00
Adrien Destugues
d761df9f70 BMessage: fix NULL pointer dereference in out of memory condition.
Change-Id: I75ba6e5069cda8a92fd88bf7d1e999232359e73c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1864
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-09-14 20:06:18 +00:00
Humdinger
4015b5877f Mail: Fix 'Leave as 'New'
When closing an unread email via "Close | Leave as 'New'", it's
still set to MAIL:status "Read".
IComparing the BString read from the MAIL:status attribute returns
"0" for a match, which the if-statement turns to false...

Change-Id: I4c3846fd39a6056e4bed8388e41dbf4929798799
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1865
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-09-14 20:05:52 +00:00
Mikael Konradsson
e5d533fda5 OutLineListView: adjust color of expander arrow when using dark color scheme
Change-Id: I7de7a460111556b7f40565ed0a6110c1f7660a25
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1847
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-09-14 05:08:06 +00:00