Only does the parameter error checking.
Change-Id: Idee4a8e8e183d45c4a14236c32ff40e52ccb2555
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1534
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Split apart the work done in https://review.haiku-os.org/c/haiku/+/2695
in smaller, easier to review parts.
This commit contains self-contained/local changes that are unlikely to
cause problems.
Change-Id: Idae27ca440791423e3d090bcfe33f4cc83bbea3d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3174
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Use BStringList instead of bespoke List class for
lists of strings.
Also fix the prominences so that the sort
ordering in the featured packages uses the sorting
algorithm properly.
Relates To #15534
Change-Id: I56e67931aa08e6bfee6d2be21a459152216790e2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3232
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
This is a version of the qsort function allowing you to pass a "cookie" to the function.
Change-Id: I60c645213b9c9590e38b112634fcac1d7969b6d9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2449
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
MediaPlayer is basing its time on both the audio and video frames. This
doesn't go so well when there is a single video frame, resulting in the
whole file being one single "timepoint".
Avoid this problem by having the video decoder set the frame time to
"infinite" when the video stream is finished, which allows for the audio
timings to be used in this case.
Also improve the framerate handling of ffmpeg further, to avoid
MediaPlayer trying to frameskip at 90000fps (it would give up
frameskipping after a few frames and eventually notice that the next
frame was the end of stream, but still, not very clean). Now we report
an FPS of 0 instead, which should make it clear to applications what to
expect from single-frame files.
It seems the cover art is now hidden by a black screen, I'm not sure
why. But I'll leave debugging this for another day.
Fixes#13622.
Change-Id: Ie1dd1358cbb41c11649103dfce52a0e1317b26f8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2562
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* add break statement to the last clause of switch/cases
* fix some other minor issues
Change-Id: I9ac3dac0cda0b14043b975938caea88b79bb749f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1299
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* don't reset the APERF and MPERF MSRs, they could be in use otherwise.
* use EPP or EPB to select power-save or performance mode
* HWP_REQUEST_PACKAGE disabled (as other OSes seem to do).
Change-Id: I26eb0b05c402b131a4ab174ad6f9ddf8e9367709
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3222
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
also update model list from Linux intel_pstate_cpu_ids.
Change-Id: I20926dc8553fbf1ade8afcccaaedfc2846787bb3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3221
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
when the cpufreq module is loaded, we let the scheduler update its policy.
Improve assert report
CoreEntry::GetLoad() could return more than kMaxLoad.
Change-Id: I127f9b3e8062b5996872aae30b4021b9904fa179
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3216
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
implement on x86 with APERFMPERF.
Change-Id: Ia484854c76dee76c5447983de15800a25d791d39
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3213
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
to call a function on the target cpu. Early mechanism not available.
Change-Id: I9d049e618c319c59729d1ab53fb313b748f82315
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3212
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
- InstallerWindow.cpp announces a message with a boolean that defines whether the install has been completed. That boolean will define InstallerApp.cpp's behavior.
- Changed the method that was used (unsuccessfully) to open FirstBootPrompt within the Installer itself, upon quitting.
Change-Id: Ibbba2f0ee3b79e091032294afcb3ed404e898f5c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3218
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
BSecureSocket currently only checks for trust anchors in the CA file,
this change will add the openssl certs/ directory as a trust anchor dir.
this matches the behaviour openssl has on the commandline and allows
users to install their own trust anchors to verify against for TLS
Change-Id: I9db5c3f3b063607e092dded3d5b141dba340a8e2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3207
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
- Changed flow of installation process. Exiting the installer will only result in a reboot if the installation has been completed, rather than forcing the user to reboot after initiating the installation process.
- Adjusted wording of selected strings and increased consistency.
Change-Id: If35b838038c31f4c25fc64eef5b476771020cad6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3200
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
- Exiting the window when the Desktop is not running will result in a reboot.
- Otherwise, the window will just close ordinarily.
- A confirmation box pops up before rebooting.
- Made other optimizations for running FirstBootPrompt on the Desktop.
- Moved some definitions to the header files.
- Added "UsePrivateSystemHeaders" to the Jamfile.
(Thank you, PulkoMandy!)
Change-Id: I34d6538d7b538d36448498ad1ecd442d76bd2bb6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3204
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
This is probably incomplete. Is locking needed? Should we notify the
next writer (if any) that the port is writable when flushing the output?
Change-Id: I2566e2d036a61af4819894a44f57603179aa27df
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2516
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Instead of exploding the tar-ball of icons from
HDS, keep it as a tar-ball, index it and read
data directly out from specific indicies on demand.
This will speed up the process of downloading
the icons by removing the unpack. Also updates
will be faster by avoiding the need to delete the
old icon files.
Because icons are loaded on-demand, the start
time is faster by avoiding all the icon loads.
There are also savings on memory consumption.
Indexing on each load is surprisingly fast so
no external index is maintained. Likewise for
the tar-balls's meta-data.
This commit does not cover the implementation
of an LRU cache of the icons in memory.
Relates to #15370
Change-Id: Ia1647d8c805be89618f493d2592bf7877fca3f14
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3205
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
This allows you to pass node_ref's around like you can entry_ref's.
Added node_ref_flatten(), node_ref_unflatten() and node_ref_swap() to
MessageUtils. These are close cousins to entry_ref_flatten(),
entry_ref_unflatten(), and entry_ref_swap() but for node_ref's.
Added B_NODE_REF_TYPE to TypeConstants.h in the Support Kit.
Added B_NODE_REF_TYPE to Debugger and ByteOrder in Support Kit,
B_NODE_REF_TYPE is treated the same as a B_REF_TYPE (entry_ref).
Add documentation for new NodeRef methods and B_NODE_REF_TYPE.
Change-Id: I32c6ed276bf1a7894a835b9fc9de5a882c35883c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3182
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Various error handling cases were missing, which would lead to corrupt
settings and crashes. Add the missing error checks and make sure we
always revert to sane settings in case of problems.
Change-Id: Ib72621d6e4974345f5f6ee88e01a918cbf09d7ea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3069
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Add MultipleMouseSettings class in input_server mouse settings code.
It is identical to the one in input preferencdes, but manages a
different implementation of the MouseSettings (which is kept as it was
before)
Change-Id: I4d96bb3702160c4ab9cf5411573e9609ee1f88a6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3129
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Use a BMessage for the mouse settings. Store an array of mouse_setting
and an array of names for the corresponding mouses.
The input preferences can load the settings in both the old and new
format. If in the old format, the settings are applied to all mouses.
In this commit, input_server is not modified yet to use the new settings
format, leading to unusable mouse.
Change-Id: I37dd27cfa3ac55c6956cc4fb7fc8fabc85a59448
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2953
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Missing error checks when calling input_server can lead to Tracker
crashes.
Add the missing error checks.
Thanks to mmlr for helping investigate the problem!
Change-Id: Ie7f3e00c1267b594eafc77a1613e186cf38e5277
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3068
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Recalculate line breaks in FrameResized() if word-wrap is on, otherwise
only move the text rect into position. StyledEdit was recalculating line
breaks before on resize (we have to in this mode) and the frame offset
updates for non-wrapping text views are inexpensive. This makes resizing
text view's work like StyledEdit everywhere.
Scroll to cursor when word-wrap setting changes if text view is editable.
If you are viewing a long document changing word-wrap can move the cursor
quite far, so scroll back to it.
Fix _ActualTabWidth() pen location for right and center-aligned text views
so that tabs widths are calculated correctly.
Reset fTextRect horizontal limits to bounds minus insets in
_RecalculateLineBreaks(), then grow fTextRect based on alignment when
wrap is off.
Fixing insets also fixes right and center-aligned BTextViews.
Left-aligned text view's grow right, right-aligned ones grow left,
and center-aligned ones grow out.
Make extra scrolling space for all aligned text views go the other way
from how it did in hrev24130 (and on left-aligned text view's too) so
that half the text is visible when you edit past the end or before the
beginnning of a text view instead of none of it.
Fixes#1651#12608#13796#15189
Do not _RecalculateLineBreaks() if text view bounds are invalid.
In SetText() detect invalid text view bounds and resize the view to the
width and height of the first line. Then recalculate line breaks.
This fixes BAlert text view size issues.
Fixes#16481 (regression from hrev54496.)
Remove useless and heavy computation. There is no point in computing line
breaks for a 10px wide text view and it takes a long time because it needs
a lot of linebreaks. The view eventually gets laid out properly.
Fixes#5582 (which was not locale-related, after all.)
Only apply default insets if text rect is set to bounds. This ensures
that apps that manipulate the text rect can continue to do so without
the default insets interfering while apps that don't can benefit
from the defaults. If you want to set the text rect to bounds and
not use the default insets you must override the default by calling
SetInsets(). This prevent the default insets from being applied once
apps have changed the text rect fixing a bug in Icon-O-Matic where the
text rect insets were being applied incorrectly.
Fixes#16488 (regression from hrev54496.)
Reduce left and right insets inside text views from full label spacing
to half label spacing. Unify padding between BTextControl and BTextView.
Move fLayoutData->UpdateInsets() to private BTextView::_UpdateInsets()
because we need access to BTextView member variables when deciding
whether or not to add the default padding or not.
_UpdateInsets() changes:
* Don't update insets if BTextView::SetInsets() was called.
* Don't add default insets unless fTextRect is set to view Bounds().
* Do not set the right and bottom insets to left and top if negative,
set them to 0 like we do to left and top -- DeskCalc bug otherwise.
Fixes#15688
Other BTextView fixes:
* Replace max_c and min_c with std::max and std::min respectively.
* Remove scrolling from one instance of BTextView::SetText() as it
produced undesired results while editing a scrolled text view.
* Add default insets in _UpdateInsets()
* Fix scrolling when entering and deleting text so that some part of
the text is always visible. Make visible scroll width depend on font
size.
* Allow scrolling to a negative offset in x but not y. This allows you
to scroll the entire contents of right and centered-aligned text views
whose content does not fit in the box.
* Change _Refresh() to take an offset instead of a bool so that you can
scroll to any offset.
* Replace TextLength() with fText->Length() in a couple of places.
TextControl changes:
* Set text rect in BTextControl::DoLayout().
* Remove AlignTextRect() from TextInput.
Fix the following problems in apps:
ScreenSaver: Set text rect in PreviewView::AddPreview().
Tracker: Set "Edit name" text view insets to 2. Tweek text rect position
to be on top of label in icon, mini-icon, and list mode. Add a TODO that
the text rect is a pixel off from the name on some files.
Mail: Remove _AlignTextRect() and FrameResized() from AddressTextControl.
Use default insets on the text view, defaults are fine here.
DeskCalc: Set insets based on font size in ExpressionTextView
SetTextRect() instead of manipulating the text rect.
Remove _CheckTextRect() and related methods from InputTextView.
Icon-O-Matic: Remove _CheckTextRect() and related methods from InputTextView.
WebPositive: Remove _AlignTextRect() and FrameResized() from URLTextView
and call SetInsets().
StyledEdit: Word-wrap and FrameResized() changes ported to BTextView.
Fixes#16476#16480#16488 (regressions from hrev54496.)
Change-Id: Ifeca6077f8815ccd86d5a3880f99556298aaf0fe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3152
Reviewed-by: John Scipione <jscipione@gmail.com>
Fix DEBUG build errors by using B_PRI macros in BlockAllocator.cpp,
CheckVisitor.cpp, Inode.cpp, Journal.cpp, and kernel_interface.cpp
Add optional type parameter from BlockAllocator::IsValidBlockRun()
and actually PRINT it, type parameter is already optional on
BlockAllocator::CheckBlockRun().
Remove a couple of casts as we are printing the expected type, int32.
Cast mode_t to (unsigned int) and use %u because 32-bit Haiku didn't
like B_PRIu32.
Verified to compile on both regular and DEBUG builds on both 32-bit
and 64-bit.
Change-Id: I8bb39afd400768b7f69d36384974f0b91b3ef48c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3184
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>
The get_edid_info function just does a memcpy of the info from the
driver. There is no need to trace to syslog everytime this happens
(which is a lot).
Also convert an error message from TRACE to ERROR so it remains visible
when tracing is disabled.
The context can be better allocated if it knows which codec it will be
used with (preallocating things with the correct size). To do this we
need to delay allocation from the constructor to the Init method.
* Tianocore is still in an early state for RISCV64 with a lot of work
needed around qemu support.
* u-boot however is working, and can load EFI binaries... so follow the
arm model for now. (EFI via u-boot, or EFI via EFI Bios)
Change-Id: I3dfde25db17b114aedce6faefc58d7556e17a46a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3176
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
It is pointless to ask for a second confirmation in SoftwareUpdater,
since the user understands that the system needs to be rebooted for the
changes to take effect.
Change-Id: I00c728264c32e3688e396e70925b90501ccac6de
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3185
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>