* We can return early from duplocale() so set the "magic" flag early.
* Initialize all fields up front.
* Add an internal method __posix_locale_t() which returns a locale_t
usable as a global C/POSIX locale type, and add the appropriate
definition to the musl internal header.
Our features.h does not define __USE_GNU, and so applications trying
to use this GNU-ism would have to define it for themselves, even if
_GNU_SOURCE had already been specified.
BSlowContextPopup was mostly a duplicate class of BNavMenu
only on top of BPopUpMenu instead of BMenu. Now, BPopUpNavMenu
just subclasses BNavMenu and adds the few features of BPopUpMenu
neccessary.
Drag-and-drop of files using the pop-up nav menu seems to still work fine.
Change-Id: Ic1f49c5bed60fff7a3076a22f74aebc6eba51d57
Differences between DWARF v3/v4 for line-info:
- added new field maxOpsPerInstruction
this new field will typically have the value of 1
unless VLIW architecture is being used
(which is not the case for Haiku)
- state machine contains a new field op_index
it has any relevance only when maxOpsPerInstruction > 1
i.e. on VLIW architectures
- added new operation DW_LNE_set_discriminator
this is already implemented in LineNumberProgram.cpp
This implementation just reads maxOpsPerInstruction and
checks that it is set to 1, which is what we expect on
all architectures currently supported by Haiku.
Change-Id: I14755d615a0e2b3a5177928c4d8f9014940a5fcf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6876
Reviewed-by: Rene Gollent <rene@gollent.com>
When building with GCC 13, this test no longer builds correctly and errors out
because the overloaded `operator<<` for `BPrivate::BDate` and `BPrivate::BTime`
can not be found.
The underlying cause is that the libstdc++ depended on some template SFINAE
behavior, and that did not work because the `operator<<` should only be looked
up in the `BPrivate` namespace.
It is unclear whether the code for libstdc++ changed, or whether this never was
supposed to work. GCC bug #51577 seems to imply that GCC before version 12
errornously allowed the lookup of names in the global namespace. It could be
that we always relied on this behavior:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51577
Change-Id: Ia2f2306a2e97d5f19dc8c4df90a8491f22ef0bcd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6874
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Fixes#16760
The problem comes from trying to cast a void* array to an int32 array.
However, sizeof(void*) is not always equal to sizeof(int32).
Change-Id: I12b7f71621f150edb732b5e0a7d84bf7ced5444a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6871
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
The original change to fix ramfs appearance (hrev56642)
in Tracker and elsewhere said the reason for adding the
FS_IS_REMOVABLE flag instead of removing FS_IS_PERSISTENT
was because of problems encountered with writing/deleting
entries on ramfs mounts.
I was unable to reproduce those problems; writing and
deleting entries on RAMFS mounts still works just fine
in Tracker and elsewhere, even after removing the flag.
So it seems safe to remove; subsequent problems can be
addressed as they come up.
Fixes#18173.
The common version was also derived from BFS' original implementation,
but was genericized during packagefs development, and has more recent
fixes and additions.
Only lightly tested, but arbitrary-attribute-indexed queries seem to be
working just fine.
This allows Icon-O-Matic to be shrunk further horizontally.
Change-Id: Idd54a51dc0d20dcd981dc1ef10d0d5a7a78979cd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6870
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
This allows to copy a file over an existing file
Change-Id: I174751987dcb2f372718e949a8d57b795dc1fd29
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6868
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
As part of adding perspective transformations, agg_trans_perspective.h
was patched to fix a multiple definitions error. This change has been
submitted for review to the "upstream" repositories at [1], [2],
and [3].
Also includes various other improvements such as VertexSource being
split into its own file, code style improvements, and documentation
improvements.
[1] https://sourceforge.net/p/agg/patches/6/
[2] https://github.com/ghaerr/agg-2.6/pull/9
[3] https://github.com/aggeom/agg-2.6/pull/7
Change-Id: I4bffd2f87354bde10155e23145a232a925be6ff3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6801
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
The new version has many more features than the old one. This update
is necessary for an upcoming update to Icon-O-Matic adding perspective
transformers.
This update is pulled from https://github.com/ghaerr/agg-2.6 at commit
e7db22bd12700118257b4cb780539c421e01aa51 with our changes applied on
top. Note that this repository isn't necessarily the chosen upstream
that all future updates should be pulled from. See the discussion
starting at [1] for more information.
This also updates the affine transformation since the newer perspective
transformation requires the newer version.
[1] https://discuss.haiku-os.org/t/gsoc-2023-progress-on-perspective-transformation-haiku-project/13594/34
Change-Id: Ic578eec15fbb9131338b3c605c737ce1bfb252ca
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6808
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
on x86_64 implemented with rdtscp or rdpid, generically with a syscall.
Change-Id: I8f776848bf35575abec8a8c612c4a25d8550daea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6866
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
This brings us in-line with ext2
Change-Id: I0be7c4b1cbcd5a0a9f501e3e512b5bf6d0b86ffe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6865
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
I find this API weird but apparently Tracker relies on it and if it
doesn't work it forgets to show icon on the desktop.
Change-Id: I162ff004406e28f56db5ac2293851aa30535109e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6863
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Return is boolean and not a status.
Change-Id: I03b74d8d7b9b205428665059a3b9d4dc708857a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6861
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Current code forgets to clamp readings to actual file size anf moreover
never adjust the buffer fo subsequent reads. Fix both of those.
Change-Id: I3b8eb98142215ac3b30badfbbbb811147f76563a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6852
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
The step is reclen. Honour it or we end up stepping in the middle of garbage
when OS aligns next entry to avoid crossing sector boundaries.
Change-Id: I749f9533d4d39e7a9abf9295b8e7c519dab52921
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6851
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Passed size needs to be size of name buffer, not of length we compare to.
Fix the value and remove now unused parameter.
Change-Id: Idb69a0e78ba376751edf8b3df3635cd0af4c9460
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6850
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
At the same time make it in line with ext2 module
Change-Id: Iab879cf532cbc0b58b23cdd97d50419c21d199b6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6849
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
The code multiplied fragno by MINBSIZE instead on fragment size.
Moreover IsDirectory and IsSymlink were called before inode was read.
Change-Id: I9e62007c900fb4376812f8ebef508a3f8a8f619b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6848
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Fixes a small, hard-to-see bug that occurs when pasting text into
Icon-O-Matic. Before when pasting, for example, an "O" into IOM, the
"O" would not be completely symmetrical. There would be an extra point
on one of its sides. Now that point is gone.
Also fixes paths not being closed when they should be. Back to the "O"
example, one of the two paths that make up the "O" would be open. Now
both paths are closed.
Also determines whether a point should be connected or disconnected
based on whether the control points and the vertices lie on a straight
line. (If a point is marked as connected, the control points and the
vertex are constrained to lie on the same line.)
Change-Id: I0cb9f878ac7887640288073ca253de35b3937f3b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6841
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
In non editable mode, BTextView computes a preferred size that just fits
the current text. This did not take into account the insets from
SetInsets, so, when these are used, the resulting view size was too
small.
Additionally, avoid calling _Refresh that has two problems: it needs the
view to already be attached to a window, and it does a lot of things we
don't really need here: recomputing scrollbars, clearing the empty space
below the text to avoid flickering, and so on. We just need to recompute
fTextRect according to the suggested width, to do that, it is enough to
call _RecalculateLineBreaks instead.
Finally, also restore the text rect at the end of the method, since it
is not actually resizing the view, it is very unexpected that it changes
the text rect. This is not perfect, as the line breaks from
_RecalculateLineBreaks are not undone. But, since the next step is
probably to resize the view according to the computed width/height, this
will be sorted out at that time. If this proves to be a problem, we can
add a second call to _RecalculateLineBreaks after restoing the original
text rect, or refactor _RelcalculateLineBreaks so that it can return the
new height without actually changing the lines.
Change-Id: Ie2fa60c1b2314c8a3346d03ab3ff6843aebaf3dc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6845
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>