From 06aeda1081592c9ad7207756c4d9f4a6c8334572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Wed, 14 Jun 2023 02:35:12 +0200 Subject: [PATCH] FreeBSD: Backport patches to solve issue TDE/tde#128. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko --- freebsd/core/tdelibs/Makefile | 2 +- .../tdelibs/files/patch-bp000-41336d84c9.diff | 34 +++++++++++++++++++ freebsd/dependencies/tqt3/Makefile | 2 +- .../tqt3/files/patch-bp000-984ea06ed6.diff | 28 +++++++++++++++ 4 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 freebsd/core/tdelibs/files/patch-bp000-41336d84c9.diff create mode 100644 freebsd/dependencies/tqt3/files/patch-bp000-984ea06ed6.diff diff --git a/freebsd/core/tdelibs/Makefile b/freebsd/core/tdelibs/Makefile index 97bcf41a0..a89e401f3 100644 --- a/freebsd/core/tdelibs/Makefile +++ b/freebsd/core/tdelibs/Makefile @@ -11,7 +11,7 @@ PORTNAME= tdelibs-trinity COMMENT= Core libraries and binaries for all TDE applications TDE_PREVERSION= MASTER_SITE_SUBDIR= t/${PORTNAME} -PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= x11 DIST_SUBDIR= TDE/core diff --git a/freebsd/core/tdelibs/files/patch-bp000-41336d84c9.diff b/freebsd/core/tdelibs/files/patch-bp000-41336d84c9.diff new file mode 100644 index 000000000..ab9a9513b --- /dev/null +++ b/freebsd/core/tdelibs/files/patch-bp000-41336d84c9.diff @@ -0,0 +1,34 @@ +commit 41336d84c91181da148be31a0b9f469037d3669d +Author: Michele Calgaro +Date: Mon Jun 12 22:15:53 2023 +0900 + + Rework and fix commit 4d90cc61 + + Signed-off-by: Michele Calgaro + (cherry picked from commit 54b58986491c48408c720d706e5cbfd1043d3ee6) + +diff --git a/tdeio/tdeio/job.cpp b/tdeio/tdeio/job.cpp +index 43b0c808..cbe1a81d 100644 +--- a/tdeio/tdeio/job.cpp ++++ b/tdeio/tdeio/job.cpp +@@ -114,9 +114,18 @@ public: + unsigned long m_userTimestamp; + }; + +-static TQObject *__job_root_obj = new TQObject(0, "jobroot"); ++static TQObject *__job_root_obj = nullptr; + +-Job::Job(bool showProgressInfo) : TQObject(__job_root_obj, "job"), m_error(0), m_percent(0) ++static TQObject* __getJobRoot() ++{ ++ if (!__job_root_obj) ++ { ++ __job_root_obj = new TQObject(0, "jobroot"); ++ } ++ return __job_root_obj; ++} ++ ++Job::Job(bool showProgressInfo) : TQObject(__getJobRoot(), "job"), m_error(0), m_percent(0) + , m_progressId(0), m_speedTimer(0), d( new JobPrivate ) + { + // All jobs delete themselves after emiting 'result'. diff --git a/freebsd/dependencies/tqt3/Makefile b/freebsd/dependencies/tqt3/Makefile index adecda691..891f96eaa 100644 --- a/freebsd/dependencies/tqt3/Makefile +++ b/freebsd/dependencies/tqt3/Makefile @@ -13,7 +13,7 @@ TDE_PREVERSION= MASTER_SITE_SUBDIR= t/tqt-x11-free DISTNAME= tqt-x11-free_${TDE_VERSION}${TDE_PREVERSION:C/(~(pre|r|s)[0-9]*).*/\1/1} DISTSRC= ${PORTNAME}-trinity-${TDE_VERSION}${TDE_PREVERSION} -PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= x11-toolkits DIST_SUBDIR= TDE/dependencies PREFIX= ${LOCALBASE} diff --git a/freebsd/dependencies/tqt3/files/patch-bp000-984ea06ed6.diff b/freebsd/dependencies/tqt3/files/patch-bp000-984ea06ed6.diff new file mode 100644 index 000000000..c20eb57e0 --- /dev/null +++ b/freebsd/dependencies/tqt3/files/patch-bp000-984ea06ed6.diff @@ -0,0 +1,28 @@ +commit 984ea06ed6ce702d98fcfe08dc353d58f3f0bcbc +Author: Michele Calgaro +Date: Mon Jun 12 10:46:33 2023 +0900 + + Revert "Add single TQObject root parent for all guarded pointers." + Commit b167d09c was functionally incorrect and is causing issues on + selected distributions. + This reverts commit b167d09c43be6c8b7d30f0d4fb1bf1e86c51b8a7. + This resolves issue TDE/tde#128. + + (cherry picked from commit fb1f3d64451e8cc405b5db572e2c506564a05680) + +diff --git a/src/kernel/qguardedptr.cpp b/src/kernel/qguardedptr.cpp +index 3ac27e7a..803e75e1 100644 +--- a/src/kernel/qguardedptr.cpp ++++ b/src/kernel/qguardedptr.cpp +@@ -194,10 +194,9 @@ + + /* Internal classes */ + +-static TQObject *__ptrpriv_root_obj = new TQObject(0, "_ptrpriv_root"); + + TQGuardedPtrPrivate::TQGuardedPtrPrivate( TQObject* o) +- : TQObject(__ptrpriv_root_obj, "_ptrpriv" ), obj( o ) ++ : TQObject(0, "_ptrpriv" ), obj( o ) + { + if ( obj ) + connect( obj, SIGNAL( destroyed() ), this, SLOT( objectDestroyed() ) );