To make it easier to understand what process
elements are taking a long time to run, a
small simple report is output as debug log
at completion of a process.
Change-Id: I09b93c494961e7abbbd22a3c58c64631f08025af
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7075
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
* Declare databridge buffer lengths in LocaleBackend.
* Use strcpy instead of strlcpy when writing to databridge buffers
(this is the first fix for #18598.)
* Check for overflows and error out when they happen.
* Verify that ICU actually knows the timezone in question
and fall back to GMT if it does not (this would also fix that crash.)
Fixes#18598.
Previous changes removed the ability to supply
control characters at the start and end of a
nickname; this change removes them from anywhere
in the nickname when supplied.
Change-Id: I0631fffa8aaf2c0e267c777892044c53faa4334e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7071
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
If the user happened to enter control characters into
their username when authenticating then the username
may cause problems later when communicating back to
the server. This is a hard problem to diagnose and
this commit will remove the problem.
Change-Id: Iad3c24f16cc6799ad8ddad634b8621a0aaadb921
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7067
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
PathTransformer keeps a reference to the VertexSource used (which can be
either another PathTransformer, or the base path for a shape). When a
shape is cloned, this should be retargetted to the new object in the
clone.
However, references are not settable, and so, what would happen instead
is the original (non-cloned) vertex source was reinitialized (through
the default implementation of the assignment operator) using data from
the clone, and the clone would still point to it. Then, if the original
object is deleted, the clone would point to freed memory.
To avoid this problem, replace the reference with a pointer (which can
be set to point elsewhere, as the code intended to do). To make sure
this does not happen again, make the VertexSource copy constructor and
assignment operator private, and deleted when the compiler supports
that.
Fixes#18577
Change-Id: I8870d9471c5064e922a84eff8447cbda783b13e6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7052
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Zardshard <0azrune6@zard.anonaddy.com>
The previous commits have cleaned all the remaining ones.
Change-Id: I6b12ba4f23779f3e2e4fd5a00c6acfaaeb50f4d6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6804
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Use avcodec_send_packet and avcodec_receive_frame as recommended in
ffmpeg documentation.
Change-Id: Ib9dc343a9f5cfbc50192158934e5e80c09a37fab
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6803
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Addresses #15418 without completely solving it.
At least for font sizes >= 11 points it works mostly. Buttons are
no longer cut off, though the summary page showing all partitions
is taller than necessary for > 3 partitions, esp. for smaller font
sizes.
Views aren't vertically centered at least.
Change-Id: Id6224b83f27510c9ed45e303f0b5dabf47af0574
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7062
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
AbstractSpinner inherits from BControl, so it should call BControl's virtual methods, not BView's.
Found by Andrea Anzani
Change-Id: If4c921d91a5095769d5f2da1832ad5bf4533becc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7066
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The function used to be "not supported", but now it is implemented.
So, the comment about printing a "not supported" message for debugging
is obsolete and can be removed.
Change-Id: I2db26ef5a59e6e04bf903a29563d88d1d98fc303
While debugging some problems on the HaikuPorts build VMs, mmlr
noticed their clocks had an alarming amount of drift. This prompted
an investigation into TSC calibration mechanisms, and the discovery
that there is a VM-specific one which we did not implement.
This mechanism is more accurate than counting cycles on VMs where
cycles can be "stolen" (the probable cause of the aforementioned
clock drift.)
Tested in VMware (works out of the box) and on QEMU/KVM
(may need TSC frequency specified or a host with invariant TSC.)
Change-Id: I4ccfdb2e4e2621404ec9026e7106c02bf96faf18
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7063
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The previous code did not work on non-English locales,
a problem readily detectable when running in Terminal
inside a Terminal session, e.g.:
PrefHandler::getRGB(Hintergrund) - key not found
Fixes#18614.
* We might as well "try as hard as we can" to get build files.
* With this setting, DNS resolution errors count as retryable
errors. wget will retry to get files up to 20 times by default.
* Should improve build relability on less-than-ideal network
connections. (aka, a brief network disconnection shouldn't stop
a local build if possible)
Change-Id: I39652fafb5eee237c463e1b777b1057ee1d53db1
From time to time there is a segfault seemingly coming from the log
macros. This seems to be coming from some logic to get a single
character to denote the level of the log line. This commit simplifies
that expression which seems to have resolved the problem.
Change-Id: I8d5325feb6d534ec38c653397585318b5dcbad39
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7057
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
On startup the application will check a users' credentials work; if
not then it will log them out. This was broken after the move to
token-based authentication and this commit will fix that.
Change-Id: Ic9460b668422312ed5a856a92c5b99d9bd724801
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7056
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Owing to the larger number of files involved, reducing the `stat`
operations from two to one seems to make some difference to the
performance.
Change-Id: Ia4f92e23a90967bbd12735a81be8ceecc605e385
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7055
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
After the last change, korli suggested this simplification that lets
SetValue() do all the in/decrement-widget en/disabling.
Change-Id: If87579d9104bbc9ae279aa5f2f99c9921bb238ea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7053
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Top level "menu" still uses be_plain_font, submenus use menu font.
Window submenus use menu font, but in super-expando mode they use
the plain font since they are on top level.
Change-Id: I704e9baa1ec46d1cbf7b9401ba4e49b5e2dff27c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7041
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Say you have a BSpinner with a fValue of 10 and a fMaxValue of 10.
The +-widget is correctly disabled.
If you now set the fMaxValue to 20, the +-widget stays disabled.
With this change the state of the +/- widgets are set correctly when
the Max/MinValues are changed.
Change-Id: I4dce7f0ecd6aee8e9b562618ec1367dbeb212dc4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7050
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* Solves a few "Unknown connector" errors on newer cards.
* It's just another physical name for DisplayPort
Change-Id: I37a6f1bb1db66279b305bdbce3c200612eac1130
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7042
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
There are now some system headers (e.g. <stdatomic.h>) that have outright
different versions for C and C++ which are not compatible with each other.
Change-Id: Ibf797e0817f0fe4d5241424d7d06023b19888c02
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6991
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Introduce new attribute classes:
* addrptr represents an offset into the .debug_addr_section
* loclist represents an offset or an index to a location list
* rangelist represents an offset or an index to a range list
* stroffsetsptr represents an index to the indirect string table
The semantics of some existing attribute classes changed:
* loclistptr represents an offset into the
.debug_loc / .debug_loclist section
It will be used only when setting loclists_base attribute.
In all other places we should use loclist attribute class.
* rangelistptr represents an offset into the
.debug_ranges / .debug_rnglist section
It will be used only when setting rnglists_base attribute.
In all other places we should use rangelist attribute class.
Define lookup table for new DW_AT_* attribute types
* change the existing references to AC_LOCLISTPTR to AC_LOCLIST
as in those places now either an index or an offset can be accepted
(previously there were no indexes, only offsets everywhere)
* only DW_AT_loclists_base uses AC_LOCLISTPTR
* similarly for AC_RANGELISTPTR and AC_RANGELIST as ranges
can be specified using either an index or an offset
* only DW_AT_rnglists_base uses AC_RANGELISTPTR
Define lookup table for new DW_FORM_* attribute forms
* similar reshuffle for location lists and range lists
Change-Id: I78d307889cd6082a19870afdc571dc0c83d19644
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6982
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This undoes fc7864091e.
It was only ever used by the FreeBSD compatibility layer,
only supported one structure, and created problems with
concurrent builds.
Use sizeof()+roundup() to build a char[] of the correct size,
and add a static_assert to ensure it stays so.
The <kernel_c++_structs.h> header needs to have its dependency
manually declared, and not all consumers of this file properly
declared it as such. This then fixes a concurrent build problem.
Fixes#17965 as this was the only consumer of this header.
Someone asked about it in the forum.
Change-Id: Ib80b9a3bd76f6e882070cc60fcc239f5837d8231
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6983
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
If a pinned thread is being run while disabling a CPU core, the thread
is properly requeued to that core, but with fCore set to NULL, causing
the scheduler to panic the next time that thread is rescheduled.
Change-Id: I9cf18c5a470517124b2573347cf3eb6fd26ab7b6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6917
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>