Here are three further tentative fixes for x11/kde4/libs. There are
additional problems still, but I'm going to take a break now.
Some comments:
* dnssd/servicemodel.h:
The value of ServicePtrRole appears to be random number that would
be unlikely to collide with the values already used in Qt::ItemDataRole.
It needs to fit into an int, so I dropped the top bit. Maybe a
cast in servicemodel.cpp would be better, dunno.
* kdeui/windowmanagement/netwm.cpp:
None is normally defined to 0L by the X11 headers, but
kdeui/util/fixx11h.h performs some special magic to turn it into
a const integral variable with value 0, which is too far off from
a null pointer for clang6. Since the intend is to compare against
a null pointer, just use NULL.
* khtml/misc/AtomicString.cpp:
String length is unsigned, but AtomicString::add() takes an int
parameter. In principle, it would be better to change the parameter
to unsigned, but I'm afraid this will just push the problem to
any callers.
Index: patches/patch-dnssd_servicemodel_h
===================================================================
RCS file: patches/patch-dnssd_servicemodel_h
diff -N patches/patch-dnssd_servicemodel_h
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-dnssd_servicemodel_h 17 Apr 2018 16:39:05 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: dnssd/servicemodel.h
+--- dnssd/servicemodel.h.orig
++++ dnssd/servicemodel.h
+@@ -71,7 +71,7 @@ class KDNSSD_EXPORT ServiceModel : public QAbstractIte
+
+ /** The additional data roles provided by this model */
+ enum AdditionalRoles {
+- ServicePtrRole = 0xA06519DE ///< gets a RemoteService::Ptr for
the service
++ ServicePtrRole = 0x206519DE ///< gets a RemoteService::Ptr for
the service
+ };
+
+ /**
Index: patches/patch-kdeui_windowmanagement_netwm_cpp
===================================================================
RCS file: patches/patch-kdeui_windowmanagement_netwm_cpp
diff -N patches/patch-kdeui_windowmanagement_netwm_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-kdeui_windowmanagement_netwm_cpp 17 Apr 2018 16:39:05
-0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: kdeui/windowmanagement/netwm.cpp
+--- kdeui/windowmanagement/netwm.cpp.orig
++++ kdeui/windowmanagement/netwm.cpp
+@@ -4368,7 +4368,7 @@ void NETWinInfo::update(const unsigned long dirty_prop
+ if (XGetWindowProperty(p->display, p->window,
kde_net_wm_block_compositing, 0l,
+ 1, False, XA_STRING, &type_ret,
+ &format_ret, &nitems_ret, &unused, &data_ret)
== Success) {
+- p->blockCompositing = (data_ret != None);
++ p->blockCompositing = (data_ret != NULL);
+ if (data_ret) // stupid question to everyone - since the result
is "Success", is this check required?
+ XFree(data_ret);
+ }
Index: patches/patch-khtml_misc_AtomicString_cpp
===================================================================
RCS file: patches/patch-khtml_misc_AtomicString_cpp
diff -N patches/patch-khtml_misc_AtomicString_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-khtml_misc_AtomicString_cpp 17 Apr 2018 16:39:05 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+
+Index: khtml/misc/AtomicString.cpp
+--- khtml/misc/AtomicString.cpp.orig
++++ khtml/misc/AtomicString.cpp
+@@ -160,7 +160,7 @@ DOMStringImpl* AtomicString::add(const QChar* s, int l
+ return DOMStringImpl::empty();
+
+ init();
+- UCharBuffer buf = { s, length };
++ UCharBuffer buf = { s, static_cast<unsigned int>(length) };
+ std::pair<HashSet<DOMStringImpl*>::iterator, bool> addResult =
stringTable->add<UCharBuffer, UCharBufferTranslator>(buf);
+ if (!addResult.second)
+ return *addResult.first;
+@@ -172,7 +172,7 @@ DOMStringImpl* AtomicString::add(const QChar* s)
+ if (!s)
+ return 0;
+
+- int length = 0;
++ unsigned length = 0;
+ while (s[length] != QChar(0))
+ length++;
+
--
Christian "naddy" Weisgerber [email protected]