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                          na...@mips.inka.de

Reply via email to