- Allows applications to be resized without the window contents resizing with the window frame.
- Due to the nature of out-of-tree decorators using private APIs, this will require all pre-existing decorators to be rebuilt
- Newer decorators won't work on older versions of Haiku...
- Also has some formatting with license headers.
- Fixes#2724
Change-Id: Id0b45e7bbc0b636e6dffbd396eb584bf348b5296
Reviewed-on: https://review.haiku-os.org/c/haiku/+/344
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Jacob Secunda <secundaja@gmail.com>
Do the final installation operations for all the packages in the
/system/packages directory when the OS is booted for the first time.
This will run their post-install scripts, create users, groups and generate
settings files (marked with a package version attribute). Previously we just
ran all the shell scripts found in the /system/boot/post-install directory
(don't do that as much now).
Fixes bug #14382
This patch has simpler code flow in CommitTransactionHandler::_ApplyChanges
Tested on 32 and 64 bit systems. Once it's official, need to remove the
open_ssh redundant post-install script that creates users etc. from HaikuPorts.
Now we can notice bugs like package version attributes on settings files aren't
fully working. :-)
Didn't remove special case for add_catalog_entry_attributes.sh since it
still does stuff that the build system doesn't do. Might be able to add
that script as part of the Haiku.hpkg. See change 3751 for removing it,
https://review.haiku-os.org/c/haiku/+/3751
Change-Id: I3807b78042fdb70e5a79eca2e2a45816ece0236f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2342
Reviewed-by: Alexander G. M. Smith <agmsmith@ncf.ca>
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Package files to be committed may already exist in the packages folder,
there is no good reason to fail the transaction. These may be packages
which are not activated, or there may be other reasons. While I have
not investigated how this situation may form, I don't see a good reason
to spend the time. Simply compare the contents of the existing file
with the file from the transaction, only fail if they are different.
Change-Id: I2a574df38385c8dead8bac2beace94436d43760a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3597
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
In NetServer::_ConfigureIPv6LinkLocal, it was observed that the
IPv6 link local addresses being added by the function had invalid
masks applied, which upon investigation turned out to be
uninitialised memory.
It turns out that this call:
BNetworkAddress localLinkMask("ffff:ffff:ffff:ffff::");
...internally relies on getaddrinfo(), which only works if the OS
already has an IPv6 address. Since this is the first IPv6 address,
this will always fail. Since the error code is not checked, this
results in uninitialised memory being used as the IPv6 mask.
There are a variety of possible ways to solve this problem, but
the one presented here passes the B_UNCONFIGURED_ADDRESS_FAMILIES
flag which tells the resolver to always resolve IPv6 addresses.
Change-Id: Ic1fbbd7cffdc6ec87cf160b9d7b02f077d2cf659
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3548
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Introduce DrawTransaction that automatically hide/show floating overlays
and flush back buffer.
Fixes#15574.
Change-Id: I30088b74fc66cfcd5b2b433b34141e7d496f68a1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3496
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Also use the correct symbol for the return key (we were using another
similar arrow because this one was not available in DejaVu Sans).
Fixes#14034.
Note that build/jam/repositories/HaikuPorts ships an old version of the
Noto package that does not include the Symbols2 font. It should be
updated. Adding this to the pile of lagging behind packages, alongside
icu, mawk/gawk, and tnftp. Can anyone take care of it?
Make object ownership explicit by use of ObjectDeleter where possible.
Change-Id: I499a00aa3390d1510ae284419e73faffa5166430
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2695
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Some code in a just merged patch needs another one that's still being
discussed on Gerrit. Extract just the parts we need to get things
building again.
Make the glyph layout engine look for a suitable font fallback for each
missing character, instead of using the first one found for all of them.
Solves #16404, #16213, maybe other garbled text issues.
Does not solve similar issues of getting slightly different positions and
widths for a whole string than for the sum of its parts due to subpixel
rendering (cf #15007 comment 2).
Change-Id: I40664e32c8ecd5f09e10aa7a60fcdaec230471b6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3273
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
* This looks wrong, but is functionally equal.
* Supposed to return a MouseSettings*, but returned
a B_OK (0) on a seemingly error result (NULL).
Change-Id: Id6c50369790b90e38fd6ec037c466c5fb314edf5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3303
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Just like post-install scripts which run shortly after a package is
installed, pre-uninstall scripts are run just before a package is
removed. Implements enhancement #13427
* Fix script exit code handling vs script launch errors.
* Bump package and repo file version numbers due to new attribute,
unfortunately makes new .hpkg files not backwards compatible.
* Add pre-uninstall functionality, mostly cloning the post-install
except in a few places.
* Discover that _RunQueuedScripts() is never called, a future TODO:?
* Update package documentation for pre-uninstall scripts, and use of
the boot/post-install directory.
Change-Id: I45596255ce74bc102f6e5b606cbf83e4e4347a17
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1504
Reviewed-by: Alexander G. M. Smith <agmsmith@ncf.ca>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
The brightness is saved in the screen configurations of the first
workspace. For now, all screens get the same brightness (I can't get
screen IDs to work today). Since we only support setting the brightness
for laptop displays for now, this shouldn't matter. It can be fixed when
app_server gets actual multiple display support.
Fixes#14254
Change-Id: Ib33aa65a73407a65bd469d0efa8542210fec02d4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/362
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>
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>
This avoids creaing a semaphore where it is not needed, especially
as most of these locks are never used from another thread (in the
reports in #16246, there are thousands of semaphores from this
with only a small handful having a "last acquirer" != 0.)
sourceRect has phase baked in. If phasecomponents are larger than bitamp bounds
sourceRect no longer intersects and nothing gets drawn.
Change-Id: Ib3f676b8e78e2d941c89e699f9a0ab39cc93e173
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2916
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Most notably in noto sans cjk style 0 seems be thin or light, and not Regular
this should make the fallback try Regular and only fall back to 0
if no font has a regular variant for the requested glyph
Change-Id: Ib152a50e6cace032278a60f664c2569fa9fe82fc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2887
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>