ports/x11-toolkits/fox17/files/patch-lib_FXReadWriteLock.cpp
Jason E. Hale bcd2014823 x11-toolkits/fox17: Update to 1.7.85
Remove the graphics/libpng dependency and configure option. PNG support
is now entirely built-in.

graphics/libGLU is only needed to build the glviewer test program. Its
presence on the host system doesn't affect the installation.

Remove reference to removed port x11-toolkits/fox14.

Pet portclippy(1) and portlint (1).

Update patches due to changes in base and to make them more upstream-
friendly.

Changes:
- New PNG image support. First, its faster! Also, it no longer requires
  libpng; the PNG format support is now built-in, although the libz
  compression library is still required [for now...].
- fxsavePNG() supports some fine-control via new save-flags. You can
  analyze the image, and shrink output by taking advantage of image
  features; for example, saving opaque image means alpha-channel may be
  dropped. If the image is gray-levels only, the RGB may be dropped to
  plain gray only. Also, shrinking further by emitting colormapped
  [indexed-color] image is possible if only a few colors are used.
  Finally, pre-compression filtering, as well as desired compression
  level can be selected.
- PNG I/O is optimized with when target ISA x86-64-v2 or higher are
  selected.
- FXStat::isSame() checks if two files are the same (same inode).
- FOX Desktop Calculator augmented with Unicode button labels (please
  select a font that has the math symbols!), also now supports additional
  functions, common physics constants, and other features.
- The fxCPUFeatures now can detect AVX512 presence.
- New FXPerformanceCounter and associated macros may be used to count
  clockcyles of critical code segments.
- FXAtomic.h APIs now mostly inlined for lower overhead.
- Read processor ticks on AARCH64.
- Adie text editor undo buffer size and undo buffer items can now be
  configured.
- New QOIF (Quite OK Image Format) now supported for either images
  (FXQOIFImage) or icons (FXQOIFIcon).
- FXColor to/from FXVec3d, FXVec3f, FXVec4d, FXVec4f now using SSE if
  compiled for x86-64-v2 or higher.
- Updated byte swap APIs in fxendian.h.
- New APIs in FXMat3f, FXMat3d, etc. classes to set up mirror-matrix.
- Moved new hash32() etc. functions into fxendian.h.
- Bug fix in FXIODevice reading > 1GB files in one readBlock(),
  writeBlock() call.
- Markdown syntax coloring in Adie.
- Per-syntax mode setting for removing trailing spaces in Adie saving a
  text file.
- Subtle change in operation of FXPath::relative().
- Support for CRC32 calculations added.
- Additional conversion options in FXString::fromFloat() and
  FXString::fromDouble(): thousands groupings, force decimal point,
  and hexadecimal float output.
- FXJSON JSON loader now may report duplicate key warning reading json
  file.
- FXMappedFile improvements.
- FXString unicode escapes bug fix.
2024-08-25 08:37:06 -04:00

17 lines
747 B
C++

pthread_rwlockattr_setkind_np() is not implemented on FreeBSD. This function
was contained in an ifdef in version 1.7.75. The release notes for 1.7.76 only
state that not all systems have this function, but the supposed fix is a
regression on FreeBSD.
--- lib/FXReadWriteLock.cpp.orig 2021-04-02 00:40:37 UTC
+++ lib/FXReadWriteLock.cpp
@@ -70,7 +70,9 @@ FXReadWriteLock::FXReadWriteLock(){
FXASSERT_STATIC(sizeof(data)>=sizeof(pthread_rwlock_t));
pthread_rwlockattr_t rwlockatt;
pthread_rwlockattr_init(&rwlockatt);
+#if defined(__GLIBC__)
pthread_rwlockattr_setkind_np(&rwlockatt,PTHREAD_RWLOCK_PREFER_WRITER_NP);
+#endif
pthread_rwlock_init((pthread_rwlock_t*)data,&rwlockatt);
pthread_rwlockattr_destroy(&rwlockatt);
#else