Commit Graph
100 Commits
Author SHA1 Message Date
PulkoMandy a4ae49d573 Package server: turn down logging a bit.
This prints two quite long lists of packages that are mixed up with
other logs, making them annoying to read. It is also not very useful now
that the package server is working quite reliably.

Change-Id: Ibf9d5fc3eadc5cef42a78aea831e0a035e248de3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7366
Reviewed-by: waddlesplash <[email protected]>
2024-02-01 21:31:29 +00:00
PulkoMandy e96dd82392 Screen preferences: some ui fixes
- When there is no refresh rate info available, disable the menu rather
  than showing "nan Hz"
- Rework the screen info tooltip generation, to avoid a confusing %s
  that was mistakenly moved to the end of the string in the French
  translation.

Change-Id: I4c29863a30c8c761021be57f8a2e2010709b16d5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7364
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2024-02-01 21:19:19 +00:00
PulkoMandy 0199d1f39b ffmpeg: remove interlaced_frame
Change-Id: I870bea36c6180e46ae3d63fe407126606bdda3c1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7254
Reviewed-by: Adrien Destugues <[email protected]>
2024-01-28 16:14:21 +00:00
PulkoMandy 6dd4427158 ffmpeg: use accessors for AVStream indexes
The fields are not publicly exposed directly anymore

Change-Id: I39348116378c11fd3a1c4f08756b5a31f54b8781
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7255
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
2024-01-28 16:13:13 +00:00
PulkoMandy 1978089f7c API docs: document menu reordering functions
Change-Id: Ic1a914af343aa713cfb7edc813c6a6458cb5027f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7357
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: Niels Sascha Reedijk <[email protected]>
2024-01-28 16:12:09 +00:00
PulkoMandy 67380402ab BMenu: use std::stable_sort to implement SortItems
This fixes two problems:

- Use of a stable sorting algorithm makes sure that the relative
  position between items that compare equal are not modified
- More importantly, the compare function in BList passes a
  pointer-to-pointer (in this case a BMenuItem**) and this was masked by
  the casts due to BList lack of type safety. So, BMenu::SortItems was
  not working at all when trying to use it as its prototype would imply.

NetworkStatus and Network preferences worked around this by doing the
extra dereferencing in their compare functions. I did not find any
other places in Haiku where this function is used (it was introduced
specifically for this in hrev55562). All 3rd party code that had a
similar workaround will have to be fixed to remove it (if there is
anything using that function).

Change-Id: Ia78fd1363f2c012f6eff6f9a47e8b3aac2752ebd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7356
Reviewed-by: Niels Sascha Reedijk <[email protected]>
2024-01-28 16:12:09 +00:00
PulkoMandy 8e4a60d3f1 PCI: handle "non fixed" addresses
If the max address for a PCI bus is not fixed, try to compute it from
the minimum and length (if available).

Change-Id: I23d87da32779d22324f944b5b359390f523ec7a7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7111
Reviewed-by: waddlesplash <[email protected]>
2024-01-15 18:44:39 +00:00
PulkoMandy 2f719499aa ffmpeg: update dump_ffframe_video for ffmpeg6
- coded_picture_number, display_picture_number and key_frame are deprecated
- dump all of the frame flags
- add missing entries in the picture type list

Change-Id: I64f0f20833f9cf3f31f77b26b464b36f68a67998
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7251
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2024-01-03 02:14:17 +00:00
PulkoMandy c020b0832c ffmpeg: remove unused and broken video framerate computation
ffmpeg already provides us with a framerate if it is known at the stream
level. If it is not known at this level, the framerate may not be fixed
througout the video, and so the best thing to do is to leave the media
kit field_rate unset, and let applications handle frames according to
their presentation timestamps as they come (this is what we had been
doing anyway, the code to output the framerate to the media kit had been
commented out for a long time and the computed value was not used)

Since ffmpeg removed the ticks_per_frame field [1], the code would not
compile anymore with later ffmpeg versions.

[1] https: //patchwork.ffmpeg.org/project/ffmpeg/patch/[email protected]/

Change-Id: Icc0988c507965883a1570e46f904ebf235fb71bc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7247
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-12-31 20:48:32 +00:00
PulkoMandy da4dbfa47a API docs: document KernelExport.h and overview of synchronization primitives.
Change-Id: Ic3853bf103710f289a32f43f5fb1beb79bca0b9f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7245
Reviewed-by: waddlesplash <[email protected]>
2023-12-30 18:33:37 +00:00
PulkoMandy dbe86e4638 regex.h: use _DEFAULT_SOURCE
This file was imported from glibx and uses __USE_GNU as defined by
glibc(s features.h. Our implementation of features.h is simpler, just
defining _DEFAULT_SOURCE directly and that's what we use in other
headers.

As a result, using GNU extensions to regex.h required defining __USE_GNU
directly in applications (for example in TraX).

Fixes #11818

Change-Id: I11e4cf2e88c330cf58083852c4b33aedb8a3a9ea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7238
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-12-30 18:09:57 +00:00
PulkoMandy 4629bc0cc7 ffmpeg: stream cur_dts is not publicly available anymore
Change-Id: I613f110978c5859cf4db05824c0345fbd8a992bc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7276
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2023-12-29 21:06:41 +00:00
PulkoMandy bda0b2b0bb ffmpeg: remove AVCODEC_FLAG/CAP_TRUNCATED
https: //ffmpeg.org/pipermail/ffmpeg-devel/2021-September/285257.html
Change-Id: I61c306a9f040378afbe643a1ab3869cff60c2690
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7253
Reviewed-by: waddlesplash <[email protected]>
2023-12-29 21:06:41 +00:00
PulkoMandy 926289d3b2 ffmpeg: missing const
Change-Id: Id0121958533afde8b226c5e8f6591356d59e3a9e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7250
Reviewed-by: waddlesplash <[email protected]>
2023-12-29 21:06:41 +00:00
PulkoMandy 9bf436a214 ffmpeg: av_init_packet is deprecated
https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=3189

Change-Id: I5ac25141ce76b2f7737e2f1b7ce5c8eac4a90082
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7249
Reviewed-by: waddlesplash <[email protected]>
2023-12-29 21:06:41 +00:00
PulkoMandy 3d6dc09d83 ffmpeg: avcodec_find_decoder returns a const AVCodec*
Change-Id: I03af13cc74f8bee7b82bb6398aadbfc28ce92df9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7248
Reviewed-by: waddlesplash <[email protected]>
2023-12-29 21:06:41 +00:00
PulkoMandy fadf60cd92 ffmpeg: remove unused variable
Change-Id: Icd933dbb45c33ad48f59473b75dbaaf22faba0df
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7246
Reviewed-by: waddlesplash <[email protected]>
2023-12-29 21:06:41 +00:00
PulkoMandy 4c07199d82 Add a script to draw a dependency graph from a set of hpkg files
Useful for understanding dependency chains.

Change-Id: I64113ff87fe3cef2f45796b064749e0c6a5bf880
2023-12-28 14:10:30 +01:00
PulkoMandy e92b4d3a27 docs/develop: add sourcetree layout document
Largely based on a_brief_introduction_to_our_source_repository_layout.html
from the website, revised and updated. I will delete the one from the
website and put a redirect to here once this is merged.

Change-Id: I06657bbea4c16df7bff1f2357cffd2ec8a63c65a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7236
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-12-24 02:56:51 +00:00
PulkoMandy 53f146bc7d launch_server tests: fix gcc2 build
The launch daemon tests consist of two parts: one unit test and one
set of "libbe_test" executables. These share some sources from the
launch daemon source directory, but use different compiler flags.

Due to the way we generate object files, the .o files for both variants
end up overwriting each other since they are generated in the same
directory.

There is also some confusion on compiler flags, since some flags are
applied globally to the directory and confuse one or the other of the
two targets.

To avoid this, move the test binaries to a subdirectory separate from
the unit tests.

Change-Id: I28058abf7a4d4356bc56ef7a67430a277b979532
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6875
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Niels Sascha Reedijk <[email protected]>
2023-12-18 08:00:33 +00:00
PulkoMandy 15338de99f Update ACPICA to 20230628
Change-Id: I5cbe5fa52bcca13ef8308ae1d2a1b1c19afcfe7e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7142
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-12-15 15:15:12 +00:00
PulkoMandy 4f9df95dc8 HaikuDepot TextView: add a way to relayout when document changed
When adding new paragraphs or otherwise editing a document from outside
the view, the layout needs to be recomputed and the view invalidated.
Otherwise, the changed text is not shown.

Change-Id: Id3c60d8b510443f71ebbc805b7b7ca5b35220fd5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7131
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-12-11 08:18:44 +00:00
PulkoMandy 6af1381397 HaikuDepot TextView: add support for hyperlinks/clikable areas
Specific text spans can be assigned a cursor and BMessage to send when
they are clicked. This allows for implementing hyperlinks, specific
popup menus, and clickable text of any type.

With some extra work it can also be used to implement spell checking
suggestions, buttons, and so on.

Change-Id: I390e0c44656da76a950c432bdd934bd51af49baf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7130
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-12-11 08:18:44 +00:00
PulkoMandy 9cd2a23203 HaikuDepot TextView: simple implementation of underlined text
The TextView has planned support for fancy underlines (double underline,
squiggly, and possibly different colors than the text). However, it does
not implement any rendering for these yet. Until that is added, have at
least the basic case (single line underline the same color as the text)
by using BFont B_UNDERSCORE_FACE flag.

Change-Id: I26875e51efb1050cbabb2287307516c4cea077cf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7129
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2023-12-11 08:18:44 +00:00
PulkoMandy 841c1c0c10 acpica: fix tracing on 64bit systems
Change-Id: I75be1a37a17c171a45c4b5994c65117aed894b56
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7141
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-12-07 06:48:59 +00:00
PulkoMandy 111528d18d HaikuDepot TextView: fix merging of spans
When adding two successive spans with identical styles, they should be
merged into a single span. However, all prevous spans in the view were
accidentally removed.

Change-Id: I4b2d21331ba97cf54a0db83e7638e23bd2303a63
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7128
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-11-25 10:49:21 +00:00
PulkoMandy 8a00ea4af6 ps2_dev: shorter timeout for mouse reset
The keyboard is initialized after the mouse. When there is no mouse,
this timeout delays keyboard initialization noticeably (especially if
there is a mouse port multiplexer with several ports).

Change-Id: Icd4a7c28f6afca062d829df88bd15e88225d4bc0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7112
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-11-16 17:11:46 +00:00
PulkoMandy 0822ec27a9 libicon: Fix dangling references to VertexSource in PathTransformer
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 <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Zardshard <[email protected]>
2023-10-26 12:34:24 +00:00
PulkoMandy 51355272b3 ArchitecturesRules: error on use of deprecated functions
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 <[email protected]>
2023-10-26 10:50:02 +00:00
PulkoMandy 9858be4f63 ffmpeg: remove usage of deprecated method avcodec_decode_audio4
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 <[email protected]>
2023-10-26 10:50:02 +00:00
PulkoMandy 538f9a182c MIDI kit: remove obsolete comment
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
2023-10-26 09:41:34 +02:00
PulkoMandy c220175c65 Add Noto Cherokee to font fallback list
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 <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2023-10-09 08:07:19 +00:00
PulkoMandy ae2049aa4f user docs: add note about use of BView::GetMouse() in BView::MouseUp()
Fixes #18606

Change-Id: I2f6d9cd67de6cd4223b6837bb1b8b0cd1de79800
2023-09-30 21:27:32 +02:00
PulkoMandy 52050c56f6 BTextView: improve GetHeightForWidth in non editable mode
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 <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-08-19 15:15:00 +00:00
PulkoMandy 7b2f246e69 Cortex: remove use of deprecated C++ features
Change-Id: I174bf8a5224b53370c3dd5f7dc152885ff0ec985
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6800
Reviewed-by: Fredrik Holmqvist <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-08-19 15:11:44 +00:00
PulkoMandy 9c8f4ac5d6 Remove usage of some deprecated C++ features
Change-Id: I8faff44ca5fbce9b56ce135ebd070be6bd4c1c78
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6799
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-08-08 19:52:09 +00:00
PulkoMandy 3a6bc1cf65 SerialConnect: implement clipboard paste
Change-Id: Iaddb6588afa774bcffad9713f280a0078784605a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6770
Reviewed-by: waddlesplash <[email protected]>
2023-08-02 21:16:56 +00:00
PulkoMandy 4c28b3f19f Screen preferences: use a matrix menu for the resolution list
When there are a lot of display resolutions available, the menu can
become very high. Switch to a "matrix" menu with 3 columns in this case
to keep it a reasonable size.

Change-Id: I826be06a91bd1bcae600cc333e34d4a9dd7b3df5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5320
Reviewed-by: nephele nephele <[email protected]>
Reviewed-by: John Scipione <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-07-31 07:02:23 +00:00
PulkoMandy 699bc5363f Launch daemon: fix some unused variables
Used for tracing only, so mark them as unused when tracing is disabled.

Change-Id: I76acb0f18ccab12512eaa4b2644e9d57c591b9ef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6740
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Fredrik Holmqvist <[email protected]>
2023-07-29 15:56:19 +00:00
PulkoMandy 2a7d6a9850 Cortex: fix some unused-but-set warnings
Declare the variables as unused because they are used only in ASSERT
calls which are disabled by default.

Change-Id: I4786fad54463b532b00afa5be00ed52fb118776f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6737
Reviewed-by: waddlesplash <[email protected]>
2023-07-29 15:56:19 +00:00
PulkoMandy 21b533d448 Bootloader FAT: remove unused variables
The "longNameValid" variable already indicates if a long name is present and
valid, and it is correctly handled, with the short name used as a fallback
if the long name is either not present, or not encoded correctly.
The "hasLongName" variable is useless since long names are already handled.

The "partial" variable indeed indicates a partial read was done. There is
nothing to do with that info, the read is already complete at this point and
the correct data is read and returned to the caller. So I don't see why we
should keep this variable.

The "count" variable seems to serve no purpose and is easy to re-add if
someone ever has a need for it.

Change-Id: Ic7eb7f34a49243ecdb5dd3c6b29c3b90f3bece10
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6739
Reviewed-by: Fredrik Holmqvist <[email protected]>
2023-07-29 15:56:19 +00:00
PulkoMandy 30e762a797 bluetooth: fix unused but set variable
Change-Id: Ie63b0a28c352bc9997a2a70b3e335af2b3cc1bc3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6714
Reviewed-by: waddlesplash <[email protected]>
2023-07-29 15:56:19 +00:00
PulkoMandy c75dc6af6b pci and usb header scripts: avoid generating trigraphs
Change-Id: Ifd10f039cebdd3995397ad380b7a2c6ddd437775
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6738
Reviewed-by: Jérôme Duval <[email protected]>
2023-07-28 09:11:43 +00:00
PulkoMandy 7e80a0ba59 PSD translator: fix mismatched types compiler warnings
Change-Id: I12f0cc2b7f4fea43726425af558641d8e6789a14
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6736
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Fredrik Holmqvist <[email protected]>
2023-07-28 09:11:43 +00:00
PulkoMandy 16a112ae7b ext2: fix unused-but-set variable
This variable was introduced in hrev38573 which is the conclusion of
a GSoC project by jvff to add write support to the ext2 driver.
It has been unused for 13 years, I think it is safe to remove.

Change-Id: I8ae4635dbc39f108b769d90b92e5545f8183a10d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6715
Reviewed-by: Fredrik Holmqvist <[email protected]>
2023-07-28 09:11:43 +00:00
PulkoMandy a2b91af97b highpoint_ide: fix unused-but-set variable
Change-Id: I2b6769779682978b5e61166bc4032291bb02bea2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6713
Reviewed-by: Fredrik Holmqvist <[email protected]>
2023-07-24 18:42:51 +00:00
PulkoMandy 70d3b1028a ps2: mark unused-but-set variable unused to avoid warning
Change-Id: If0073d878cfe4c37ea61bc10459e698ebbb47897
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6712
Reviewed-by: Fredrik Holmqvist <[email protected]>
2023-07-24 18:42:51 +00:00
PulkoMandy 69657d9d4f ACPI: remove unused-but-set variable
Change-Id: I8095cb13c51c3891cc36dca1b7667041cb6c9df0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6711
Reviewed-by: Fredrik Holmqvist <[email protected]>
2023-07-24 18:13:52 +00:00
PulkoMandy 45311bd6f9 usb_rndis: synchronize writes
The write function can be called concurrently by multiple threads. The
way it is implemented now means this desn't work, since there is no
guarantee the correct thread will be released from the semaphore by the
USB completion callback.

I tried to allow mutiple requests to run "in parallel" (really letting
the USB stack schedule them) by having he callback track which thread to
wake up (using send_message/receive_message as a synchronization tool)
but that still resulted in lockups.

The simplest solution is to ensure there is only a single thread doing a
write transaction at a time, which is achieved here with an extra mutex.

Fixes #18521.

Change-Id: I0b737acab6f5665cbe5b0e40a20ce99c16bdf21c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6707
Reviewed-by: Jérôme Duval <[email protected]>
2023-07-24 14:47:23 +00:00
PulkoMandy 5a86b40e33 xres: fix extracting resources
Regression introduced in hrev51641 which added braces to fix a
misleading indentation warning. The code was behaving correctly and the
indentation was wrong.

Change-Id: I378ff3ed6209917b44387fc29459b6e492c5eb9c
2023-07-18 21:26:03 +02:00
PulkoMandy 899e0ef82b userlandfs: use std::bitset for FSCapabilities
gcc 13 is confused by the custom bitset implementation, so use the C++
standard one instead.

However, this results in including the C++ <string> header in kernel
code. This doesn't work for gcc2, because of two problems:

- That header includes a declaration of atomic_add that doesn't match
the one in SupportsDefs.h (which can in some cases replace the function
with a #define for an inline version). Adjust the header to use the
be a problem because it creates a risk of circular inclusions.
Standard C++ headers shouldn't depend on BeAPI ones.
- It also leads to the inclusion of iostream which defined lock and
unlock functions in the global namespace. We don't want these, and they
are not part of the C++ standard, so just remove them.

Ideally we could use std::hash for the GetHashCode implementation, but
that doesn't work because it depends on an helper function that's in
libstdc++, and we can't link that from kernel add-ons.

Change-Id: Iee07280beb4dddf7a9b6160e37f3b816e4de89ae
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6663
Reviewed-by: Niels Sascha Reedijk <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-07-10 06:27:18 +00:00
PulkoMandy a6957d9ff4 fifo_poll_test: add handling of EINTR signal
This is the test for #7859, the problem now is just that the SIGCHLD
signal is delivered before the file descriptor close event wakes up the
poll().

Change-Id: Iddf96e2830d5c7496ec3c6bd27cc235c5ce9d7d4
2023-07-04 20:19:02 +02:00
PulkoMandy 311dc3ca7d tty: notify read in addition to write when the other tty is closed
Reading a tty that's closed by the other side will return an end of file
error, but will not block.

Fixes #18486.

Change-Id: I8441becdcc8c83c08611684fa0a29216e9d04ec8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6665
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-07-03 09:38:33 +00:00
PulkoMandy 037c2257f9 Export liblinprog symbols in libalm
Appls using libalm (mainly the Aukland Layout Editor) expect to find
these symbols in libalm.

Change-Id: I9ed72ce9fb63510351ab8b50643c3eace2c2953b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6664
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Niels Sascha Reedijk <[email protected]>
2023-07-02 16:51:56 +00:00
PulkoMandy 37e1b12911 framebuffer: report display EDID data
This allows to see the display in Screen preferences, and know its DPI
and physical size (as much as EDID data can be trusted). This
information could be used to compute the default font size, for example,
so it's important that all drivers provide it whenever possible.

Change-Id: Ic3d04e53cf5fcb24e22d35661d2b364a257947da
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6576
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2023-06-11 11:23:01 +00:00
PulkoMandy 7da4ade74b Remove version constraints for ICU
These are populated with the correct version automatically when building
the package, so there's no need for an explicit setting. This had
already been cleaned up for the other packages, but not yet for
haiku_secondary

Change-Id: I5bcc94fb80f639610899ec31fc77a6e678ca9e80
2023-05-28 17:03:35 +02:00
PulkoMandy 80cb3bc23e Add source for Misc_WebSearch icon
Used in WebSearchFS.

Change-Id: I55a6c74dfb2b57f2a1ea6141727f40a187a9868f
2023-05-28 16:59:19 +02:00
PulkoMandy 5bf195cdad Remove libicutu and libicutest from Haiku dependencies
These are used only by ICU tests and should not be in the ICU package.
They will be removed in the next versions of the ICU package when we
update.

Change-Id: Ib8bb2dd24ce1671e8b369c775b89d49b9b6e84eb
2023-05-28 16:59:19 +02:00
PulkoMandy 8be0a59e77 ECAM ACPI PCI controller: handle missing address_length
On my machine, the address_length somehow is 0, but can be computed from
the minimum and maximum values.

Change-Id: I2262263915319e0d97a2cd9b9fde3f6af1f79a84
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5759
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-05-24 11:00:07 +00:00
PulkoMandy 4dbd474753 Add BIconUtils::GetSystemIcon
Allow to easily access the alert icons and anything that's added to app_server
resources.

Fixes #10887.

Convert BAlert, Debugger AlertWithCheckbox and Keymap ModifierKeysWindow
to make use of it, removing the duplicate code to locate app_server
resources.

The resources are initialized only once (per application), so there is no need
to reload them for every access to the icons.

In the ticket there is discussion about putting this in BControlLook,
but I think this should in fact be moved fully into app_server with
special drawing commands for well-known icons. That would avoid loading
and rendering the icon on the application side to then send it to
app_server (especially in remote_app_server case)?

In any case, this simple API can serve as a base for applications to
use, and we can change how it is implemented later on.

Change-Id: Id370526ae5cf165cfb8bc277bc8a7f46c26f542d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6463
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2023-05-24 10:58:48 +00:00
PulkoMandy 217bbbf423 Debugger: fix empty button on alerts with only 2 buttons
When no debuginfo is available from packages, the alert has only two
buttons. This was not handled correctly, leading to a small empty button
being present.

Change-Id: I44de1101f7cd539da5c582eaf34bb1476aa9ab20
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6462
Reviewed-by: waddlesplash <[email protected]>
2023-05-20 14:52:26 +00:00
PulkoMandy 6a06a56256 Debugger: fix width of alert for short messages
Don't force a larger min size if the message is short enough.

To do this:
- Get the TextRect without word wrapping
- If that is small enough, nothing to do
- If that is too wide, set a minimal size that will be used for the word wrapping so the alert
  doesn't get too large and also doesn't get too narrow

Fixes #18404

Change-Id: Iee2704377180510edf7bdf930583b8a7cc47ef2e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6461
Reviewed-by: waddlesplash <[email protected]>
2023-05-20 14:52:26 +00:00
PulkoMandy 94457adea2 Debugger: add a "don't ask again" checkbox to alerts
This allows, for example,  to skip all the "get debug info" alerts when
starting a debug session. But it is a generic implementation and will
work for all "question" alerts in Debugger.

For now, the user choices are not saved, this could be done, but then we
need a way to access that setting later.

Fixes #14601

Change-Id: Icc49d1b5bc4168d15d7f740d422f464e996f7c9d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6398
Reviewed-by: waddlesplash <[email protected]>
2023-05-09 18:28:06 +00:00
PulkoMandy d1aa4a4295 Fix typo
Change-Id: I38b5496f8f1afac24e41f3408b10371e932a47f5
2023-04-29 22:46:03 +02:00
PulkoMandy b289c1e406 Fix typo
Change-Id: I99137ae4d9cc40aa3142220191e7a0f638c60367
2023-04-29 22:46:03 +02:00
PulkoMandy 0ba60bc743 Move BarberPole from HaikuDepot to libshared
I want to use this in at least 2 third-party applications. I think it's
time to make it shared?

Change-Id: I855a59aab4ad6d47d77cf2901cb3dfc34c108059
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6296
Reviewed-by: waddlesplash <[email protected]>
2023-04-29 16:11:43 +00:00
PulkoMandy 095b381310 BitmapStream: fix grayscale AVIF decoding
BitmapStream creates a BBitmap without specifying a bytes per row, but
then check the bytes per row matches the header. It is better to ask
BBitmap for the desired bytes per row to avoid any difference in
padding.

Change-Id: Ie1facfd423ad888a14757a0fffc9e8cdf72ef832
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6301
Tested-by: Automation <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-04-04 18:37:03 +00:00
PulkoMandy 2ab05dc925 docs/develop: a few notes about invalidation, view bitmaps, and overlays
Following some IRC discussions, it seems useful to have this written
down somewhere.

Change-Id: Ic02686948d989bff2fa671a3831ba5aed1515d25
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6085
Tested-by: Automation <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2023-03-09 12:45:34 +00:00
PulkoMandy 53df6323c8 docs/develop: reorganize app_server documentation
Separate the "interface specification" into multiple individual, shorter
pages. Also update some outdated parts and replace references to
OpenBeOS with Haiku.

Change-Id: I86baa9a78c5f7a8a3c4c7aa3ac2992714afecae6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6084
Tested-by: Automation <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2023-03-09 12:45:34 +00:00
PulkoMandy 0c062f469a docs/develop: add some documentation about our Jam usage
Change-Id: I18c1fd3192468a14205bf192b3d1431397d1cc1d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6086
Reviewed-by: waddlesplash <[email protected]>
2023-03-04 16:02:36 +00:00
PulkoMandy dd8d24ee62 build: remove most of MathRules.
We shouldn't be doing these crazy things.

The only usage of this is the NextID rule which computes an unique
number by incrementing a variable. This is used for example to generate
names for the extra files used in xattr emulation.

But we certainly don't need multiplication, division, etc. That's better
done in scripts (Python, for example) in rule actions. So keep just
enough of this for NextID to work, and we could probably make it even
simpler.

Change-Id: Id06d4f5e236205203fe8d604de440753b63801bc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6088
Tested-by: Commit checker robot <[email protected]>
Tested-by: Automation <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-02-26 00:54:53 +00:00
PulkoMandy 5f88744263 BMenuField: allow to use non-fixed size in combination with layout mode
In fixed size mode, the menu field always uses all the available width.
In non-fixed size mode, the menu field will resize itself to be as small
as possible.

With layout, usually the difference isn't noticeable, since the layout
will already try to resize the control to the smallest possible size.
But there are a few cases where it makes a difference, when the layout
is over-constrained and the menu field can't be made as small as
possible. In that case, the menu field would be forced to fill its
allocated space, where we can instead make it a little smaller.

Change-Id: I911d497218a09aab3824865968558df5d4b3cf98
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6076
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: John Scipione <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2023-02-21 10:47:46 +00:00
PulkoMandy fc2f1a3247 BMenuField: remove deprecated constructors
These were introduced by mistake during the addition of the layout
system. They have been private since 2011. It seems safe to assume that
nothing uses them anymore and they can now be removed safely.

Change-Id: I98d030096f9cb06fccc25233fe4da17d0213050e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6075
Tested-by: Automation <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-02-18 17:20:27 +00:00
PulkoMandy 3cc1da2b77 BControl: fix big-endian bitmap handling for control icons
The code is endian-dependant because the alpha channel is not at the
same place. This resulted in transparent white in icons being converted
to partially transparent yellow when attempting to darken the icons, for
example.

Change-Id: I57916139ba37b8d7ae0f9e9ba9e74c1d496d7b05
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6077
Tested-by: Automation <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2023-02-18 17:16:14 +00:00
PulkoMandy 96e28a400a googlefs: De-Googlize, rename to WebSearchFS
DuckDuckGo terms of use say "don't use our name for your app", so go for
a generic "Web Search". Mention them in the README, however.

Their terms of use say "don't remove our branding", but the results from
the HTML page have pretty much no branding. There's a logo at the top of
the page, but the terms of use also say "don't use our logo". So I guess
we're fine here.

Change-Id: Ib24a95faf4e727769ae00c1cb74fab79abde0379
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5498
Reviewed-by: Adrien Destugues <[email protected]>
2023-02-08 18:42:37 +00:00
PulkoMandy 5a369046a3 googlefs: use DuckDuckGo HTML search page
This is much easier to parse. The only downside is it is HTTPS only, so
we can't do this in the kernel. But it works well as a userlandfs
filesystem.

TODO: rename and replace the icon. Make it clear that the replies are
generated by DuckDuckGo (we can add this in the README file exposed by
the filesystem for example)

Change-Id: I7cdbe7d71d63f3ab742f21dc55fb9df7b16da7df
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5495
Reviewed-by: Adrien Destugues <[email protected]>
2023-02-08 18:42:37 +00:00
PulkoMandy 49efa33dd0 ps2 synaptics: implement 'extended W' mode.
"Newer" synaptics touchpad support a new mode where they can report more
information to the host. In this mode, there is a different packet
format for tracking extra data from the touchpad, including a wheel
encoder (mousewheel) if available, and multitouch finger tracking.

This mode is documented in the Synaptics touchpad interfacing guide
(Synaptics document 511-000275-01 Rev. B), but was not yet implemented
in our driver.

It should help with detecting multiple fingers, or finger position on
clickpads to determine right or left click.

This change implements the following items from the Synaptics
interfacing guide:

- Cleanup and clarify the code for features detection to properly report
  clickpads
- Enable "extended W" mode if supported
- Process extended W values 0 (mouse wheels, reported in the
  touchpad_event structure and could be used by input_server for
  scrolling), 1 (secondary finger), and 2 (finger count)
- Fix handling of wValue, which is not always a finger width
- Add handling of vValuen which indicates the finger width when wValue
  doesn't

Overall, this should provide the movement_maker with a better picture of
what's happening.

Also improve tracing to show received packets and the corresponding
WValue since that's an important value in identifying which type of
packet it is.

Unfortunately I currently don't have a laptop with synaptics touchpad to
test this with.

Change-Id: If334392f4eb2a146955f6c8c897f0ab64d79b8d9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4425
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Reviewed-by: nephele <[email protected]>
2023-01-28 14:57:53 +00:00
PulkoMandy 83e06e62ef ffmpeg: remove use of deprecated fields in tracing
Change-Id: Id4f1e342bae8dd4a12b3f6647d60b238f98324e6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6014
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2023-01-25 11:58:15 +00:00
PulkoMandy a5bcb6e0e6 ffmpeg: fix incorrect error check
The function returns a positive nonzero value when it works.

Change-Id: I99ee3e2f8f60dff960a07fefc1cf42dc3b3969cd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6013
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2023-01-25 11:58:15 +00:00
PulkoMandy e35a296ef7 ffmpeg: fix missing initialization of AVFrame
ffmpeg API reference does not allow to allocate AVFrame on the stack,
and especially not without initializing anything in the frame. Calling
av_frame_unref then attempts to free some non-existing data, and
crashes.

The code for video was already using a correctly allocated frame, which
we can reuse here.

Fixes #17415

Probably fixes #16831

Change-Id: I9d6ee7724ab9f22547b0030de12542ef3a650640

fix avframe

Change-Id: I170597ec323ac67be460ccbab9dae5ee3e6e1b71
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6015
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2023-01-25 11:58:15 +00:00
PulkoMandy 5500d61686 ffmpeg: fix build with tracing enabled
Change-Id: Ib563d45ea144c957aeb176dbb2c381a00a55b19e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6012
Reviewed-by: Jérôme Duval <[email protected]>
2023-01-21 22:10:21 +00:00
PulkoMandy e9154f59e6 Menu: disable triggers when SetTriggerEnabled(false) is called
Triggers are a way to trigger menu items by ressing one of the letters
in their label. Normally that letter is underlined in the menu, but in
Haiku this is disabled by default and can't be enabled due to the lack
of a Menu preference (the code is there to draw the underline, still).

The trigger for each item is either assigned manually (using SetTrigger)
or automatically by the Interface Kit (picking a reasonable letter from
the label).

Triggers can be completly disabled at the menu level, however, in Haiku
this only disables drawing the underlines, and does not actually
disable the triggers, so items can still be invoked. This does not
match what is said in the Be Book. This commit actually disables the
triggers when SetTriggerEnabled(false) is called, making the keyboard
available for other uses if needed.

Possibly affected apps from a GitHub search on "SetTriggersEnabled":
- BeCJK
- 8dock
- Some of Tracker menus with lots of items, for example X-Ray menus

Change-Id: I1efa675b018fa524953c81e2dc2d456c28d6be8e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5971
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2023-01-02 12:18:15 +00:00
PulkoMandy 90e87426ac ffmpeg: enable Werror and fix all warnings
Warnings fixed include usage of various deprecated functions, structures
and fields of ffmpeg.

Change-Id: I8d6338ad282f214a805b8d746ce22e2f0895fb25
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5954
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2022-12-26 15:16:19 +00:00
PulkoMandy 81f94bfd9e mediaconverter: fix memory leak
If the file has multiple audio or video tracks, only one is converted.
But in this case there would be memory leaks of various objects for the
other (unused) tracks. Fix this for now by allowing only the first track
of each type to be used. Ideally, MediaConverter should allow converting
all tracks or selecting which ones to keep.

Change-Id: I78c0c31648c80c7760dd68b3b4f64537ad2cee88
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5744
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-12-26 15:15:43 +00:00
PulkoMandy 2db0fbd87e documentation: add a list of "media" keycodes to keyboard documentation.
Change-Id: Idd0249c2c19cea7a3435b5a73fc48c2027dcb8f0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5961
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2022-12-23 16:55:17 +00:00
PulkoMandy 4562b1727c mime_db: add a sniffing rule for css
Just like the one for HTML, we have to do a bit of guessing since there
is no easy structure. We can extend it with more keyowrds or remove some
if we find some problems with other files.

Tested so far with the Be Book and Haiku user guide CSS files.

Fixes #18144.

Change-Id: If04fba18846d17ba0eb28dd0bd12787f1fe32028
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5948
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Máximo Castañeda <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Reviewed-by: nephele <[email protected]>
2022-12-23 01:54:47 +00:00
PulkoMandy 31111d806f googlefs: use libnetservices for HTTP requests
This allows us to do HTTPS more easily and removes a lot of the code.

A file is converted to C++ to allow use of these APIs.

Now Google replies to the query with… a page asking to accept cookies,
and no results at all. They are definitely not cool anymore.

Change-Id: I4bed3b1f8630b324b979d26fbb71c4f05165fbb5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5494
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2022-12-22 18:30:02 +00:00
PulkoMandy d669317867 googlefs: fix tracing, build with userlandfs
It is currently not working because Google has changed its HTML since
this was written.

I plan to switch to using https://html.duckduckgo.com instead, which
would be a lot easier to parse. However, this requires switching to
HTTPS and I don't think doing TLS in the kernel is a sane idea.

So I suggest using userlandfs instead.

Change-Id: Iaf1f27680bbf1cd98806047122cea1a208b35bf0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5493
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2022-12-22 18:30:02 +00:00
PulkoMandy beff8fa729 ffmpeg: leak when re-allocating ffmpeg context
The _Setup method can be called several times if the parameters are
changed (for example when calling SetQuality). But it always allocated a
new context without freeinthe previous one, resulting in a leak.

Part of #9458, it fixes the largest leak there (10K bytes for each loop
of the provided test) but there are other leaks left as well, some of
which apparently need an update to a newer ffmpeg version removing some
deprecated fields.

Change-Id: Iad119dbda9cff1ce023b602a1978b100a1263f7d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5953
Reviewed-by: waddlesplash <[email protected]>
2022-12-22 15:56:25 +00:00
PulkoMandy 9f9688d841 media kit: avoid useless copy of entry_ref
Copying an entry_ref is not cheap since the "name" field needs to be
allocated and copied separately everytime. Here it is not needed at all,
so let's just use a reference instead.

Change-Id: I1e572b69569cbb7437db147b483779245ec5e180
2022-12-21 14:26:22 +01:00
PulkoMandy a443628974 media plugins: replace strcpy with strlcpy
Fixes a memory corruption: the ffmpeg plugin has a LOT of file
extensions, which goes way past the 8 allowed characters and even past
the 88 reserved bytes at the end of the structure. As a result, memory
after the structure is overwritten, resulting in heap corruption and
crashes.

This is immediately detected by using the guarded heap.

As a short term measure, use strlcpy to avoid overwriting memory, but
now the ffmpeg plugin will be unable to provide any useful info. It
would make sense to make media_format_info store a pointer to a string
instead (similar to entry_ref), but this requires more changes and will
create some incompatibility with existing apps if they use the field.

Change-Id: I8d2b567a179e9f7816b72f48aedac4e8534bc044
2022-12-21 14:26:22 +01:00
PulkoMandy 5a7756068c packagefs: do not use auto-generated attributes for root node
The root node does not come from any package, so it shouldn't have the
SYS:PACKAGE_FILE attribute. Remove it from there.

Fixes #12453

Change-Id: Icb695bb90644753d4af1c4215c4ad3c2dd9c5e68
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5951
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2022-12-19 18:46:17 +00:00
PulkoMandy 6e8c897e21 Tracker: Always use thumb attr when there is one
... even when the "Generate image thumbnails" setting is off.

This allows applications to generate thumbnails for 'non-media' files.
For example I use this in the ACE Amstrad CPC Emulator, to add a
thumbnail to emulator savestates (snapshots) with a screen capture of
the machine.

Change-Id: I95b0e4c64f5b1ffa779512755f70cfd9c1881661
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5768
Reviewed-by: John Scipione <[email protected]>
Reviewed-by: nephele <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2022-12-12 10:26:58 +00:00
PulkoMandy 32a71a00aa stdint.h: fix definition of UINT8_MAX, UINT16_MAX, UINT8_C and UINT16_C
C99 chapter 7.18.2, Limits of specified-width integer types:

"This expression shall have the same type as would an expression that is
an object of the corresponding type according to the integer promotions."

C99 chapter 6.3.1.1:

"If an int can represent all values of the original type, the value is
converted to an int; otherwise, it is converted to an unsigned int.
These are called the integer promotions."

Therefore, UINT8_MAX, UINT16_MAX, UINT8_C and UINT16_C should be signed.

This prevents building WebKit with -Werror.

Change-Id: Ib2a2c15acc2c761cccf8caa016c7ff163e3fdc0d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5806
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2022-11-08 16:11:40 +00:00
PulkoMandy 4c070183d9 PNG translator: remove B_TRANSLATE on string that isn't user visible
Change-Id: I3c04838729740f86493636913ba30a072e633696
2022-11-05 12:59:04 +01:00
PulkoMandy 4fad6eb32d Tracker: fix thumbnail caching
system_time returns the number of microseconds since booting. This is
not what's needed for the thumbnail generation timestamp attribute, as a
result the attribute was always considered out of date and the stored
attribute would never be used.

Change-Id: I3728077c484f341b765700532d3f986e64f165ad
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5767
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: John Scipione <[email protected]>
2022-10-31 17:40:50 +00:00
PulkoMandy d9e730c808 libroot: generate a name for nameless volumes
Generate a name indicating the volume size and filesystem.

Remove code that was doing that or similar things in various
filesystems.

Change-Id: I6b993735e58cdfaf1f19af575e918614c7fe5679
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5381
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jessica Hamilton <[email protected]>
Reviewed-by: John Scipione <[email protected]>
2022-10-29 11:31:13 +00:00
PulkoMandy 70bf92576d pci: print PCI info in case of deferred init.
This is normally done just after init, but in the case of deferred init,
there will be nothing to print at that point.

Currently, there is no way to access that info after the system has
booted. listdev should be extended, or the info should be published in
PCI device nodes to view in the Devices app.

Change-Id: Id89377ccf8bb967abae96194e503fffc06477acf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5758
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2022-10-24 16:37:15 +00:00
PulkoMandy 48776daf36 AboutSystem: restore previous size constraints
The window was changed to be larger and completely fill he screen at
640x480, this does not look right. Restore the previous 500x300 size
constraint.

Fixes #17952.

Change-Id: I7d60253b7304ede788e064adf2bad20168393a33
2022-10-16 10:00:38 +02:00
PulkoMandy e3d5904751 Disk Device Manager: generate a name for nameless volumes
This will give the same result as fs_stat_dev, so the filesystems will
have the same name everywhere.

Change-Id: Ic684142efaeb2c16b393f3f3e5c9c3010a054b30
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5636
Reviewed-by: Jérôme Duval <[email protected]>
2022-09-21 16:14:32 +00:00