Hi,

it may seem presumptuous that i'm fanning out candidate fixes for
kde/libs3, given that i never used KDE or GNOME or anything similar
in my life.

Not sure whether i should ask for OKs for this...
I have mostly done code inspection, no testing,
and the package now builds.

My hope is mainly that this gets us started.

Then again, what can be worse than having it not build at all?
KDE3 is probably not the most bug-free and secure software
in the first place, right?

Once people start fixing the applications on top, testing will
happen anyway, maybe?

Yours,
  Ingo


Index: patches/patch-kate_part_katebuffer_cpp
===================================================================
RCS file: /cvs/ports/x11/kde/libs3/patches/patch-kate_part_katebuffer_cpp,v
retrieving revision 1.1
diff -u -p -r1.1 patch-kate_part_katebuffer_cpp
--- patches/patch-kate_part_katebuffer_cpp      19 Apr 2017 13:21:23 -0000      
1.1
+++ patches/patch-kate_part_katebuffer_cpp      17 Apr 2018 04:43:42 -0000
@@ -1,6 +1,16 @@
 $OpenBSD: patch-kate_part_katebuffer_cpp,v 1.1 2017/04/19 13:21:23 espie Exp $
---- kate/part/katebuffer.cpp.orig      Tue Apr 18 16:35:12 2017
-+++ kate/part/katebuffer.cpp   Tue Apr 18 16:38:02 2017
+Index: kate/part/katebuffer.cpp
+--- kate/part/katebuffer.cpp.orig
++++ kate/part/katebuffer.cpp
+@@ -122,7 +122,7 @@ class KateFileLoader
+           if ((c >= 2) && (m_codec->mibEnum() == 1000) && (m_buffer[1] == 
0x00))
+           {
+             // utf16LE, we need to put the decoder in LE mode
+-            char reverseUtf16[3] = {0xFF, 0xFE, 0x00};
++            char reverseUtf16[3] = {'\377', '\376', '\0'};
+             m_decoder->toUnicode(reverseUtf16, 2);
+           }
+ 
 @@ -917,7 +917,7 @@ void KateBuffer::updatePreviousNotEmptyLine(KateBufBlo
    } while (textLine->firstChar()==-1);
    kdDebug(13020)<<"updatePreviousNotEmptyLine: updating 
line:"<<(blk->startLine()+current_line)<<endl;
Index: patches/patch-kdecore_network_kresolverworkerbase_h
===================================================================
RCS file: patches/patch-kdecore_network_kresolverworkerbase_h
diff -N patches/patch-kdecore_network_kresolverworkerbase_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-kdecore_network_kresolverworkerbase_h 17 Apr 2018 04:43:42 
-0000
@@ -0,0 +1,13 @@
+$OpenBSD$
+
+Index: kdecore/network/kresolverworkerbase.h
+--- kdecore/network/kresolverworkerbase.h.orig
++++ kdecore/network/kresolverworkerbase.h
+@@ -290,6 +290,7 @@ class KResolverWorkerFactoryBase
+ {
+ public:
+   virtual KResolverWorkerBase* create() const = 0;
++  virtual ~KResolverWorkerFactoryBase() { }
+ 
+   /**
+    * Wrapper call to register workers
Index: patches/patch-kdecore_network_kserversocket_cpp
===================================================================
RCS file: patches/patch-kdecore_network_kserversocket_cpp
diff -N patches/patch-kdecore_network_kserversocket_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-kdecore_network_kserversocket_cpp     17 Apr 2018 04:43:42 
-0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: kdecore/network/kserversocket.cpp
+--- kdecore/network/kserversocket.cpp.orig
++++ kdecore/network/kserversocket.cpp
+@@ -292,7 +292,7 @@ KActiveSocketBase* KServerSocket::accept()
+       }
+       else if (!listen())
+       // error happened during listen
+-      return false;
++      return NULL;
+     }
+ 
+   // check to see if we're doing a timeout
Index: patches/patch-kdeui_kdialogbase_h
===================================================================
RCS file: patches/patch-kdeui_kdialogbase_h
diff -N patches/patch-kdeui_kdialogbase_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-kdeui_kdialogbase_h   17 Apr 2018 04:43:42 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Index: kdeui/kdialogbase.h
+--- kdeui/kdialogbase.h.orig
++++ kdeui/kdialogbase.h
+@@ -209,8 +209,8 @@ class KDEUI_EXPORT KDialogBase : public KDialog
+       No      = 0x00000080, ///< Show No button.
+       Yes     = 0x00000100, ///< Show Yes button.
+       Details = 0x00000400, ///< Show Details button.
+-      Filler  = 0x40000000, ///< @internal Ignored when used in a constructor.
+-      Stretch = 0x80000000, ///< @internal Ignored when used in a constructor.
++      Filler  = 0x20000000, ///< @internal Ignored when used in a constructor.
++      Stretch = 0x40000000, ///< @internal Ignored when used in a constructor.
+       NoDefault             ///< Used when specifying a default button; 
indicates that no button should be marked by default. @since 3.3
+     };
+ 
Index: patches/patch-khtml_dom_dom2_traversal_h
===================================================================
RCS file: patches/patch-khtml_dom_dom2_traversal_h
diff -N patches/patch-khtml_dom_dom2_traversal_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-khtml_dom_dom2_traversal_h    17 Apr 2018 04:43:42 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: khtml/dom/dom2_traversal.h
+--- khtml/dom/dom2_traversal.h.orig
++++ khtml/dom/dom2_traversal.h
+@@ -215,7 +215,7 @@ class KHTML_EXPORT NodeFilter (public)
+      *
+      */
+     enum ShowCode {
+-        SHOW_ALL                       = 0xFFFFFFFF,
++        SHOW_ALL                       = 0x00007FFF,
+         SHOW_ELEMENT                   = 0x00000001,
+         SHOW_ATTRIBUTE                 = 0x00000002,
+         SHOW_TEXT                      = 0x00000004,
Index: patches/patch-khtml_ecma_kjs_events_cpp
===================================================================
RCS file: patches/patch-khtml_ecma_kjs_events_cpp
diff -N patches/patch-khtml_ecma_kjs_events_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-khtml_ecma_kjs_events_cpp     17 Apr 2018 04:43:42 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: khtml/ecma/kjs_events.cpp
+--- khtml/ecma/kjs_events.cpp.orig
++++ khtml/ecma/kjs_events.cpp
+@@ -405,7 +405,7 @@ DOM::Event toEvent(const Value& val)
+   FOCUS         4096                DontDelete|ReadOnly
+   BLUR          8192                DontDelete|ReadOnly
+   SELECT        16384               DontDelete|ReadOnly
+-  CHANGE        32768               DontDelete|ReadOnly
++  CHANGE        -1                  DontDelete|ReadOnly
+ @end
+ */
+ DEFINE_CONSTANT_TABLE(EventConstants)
Index: patches/patch-khtml_misc_decoder_cpp
===================================================================
RCS file: patches/patch-khtml_misc_decoder_cpp
diff -N patches/patch-khtml_misc_decoder_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-khtml_misc_decoder_cpp        17 Apr 2018 04:43:42 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+
+Index: khtml/misc/decoder.cpp
+--- khtml/misc/decoder.cpp.orig
++++ khtml/misc/decoder.cpp
+@@ -265,7 +265,7 @@ QString Decoder::decode(const char *data, int len)
+                 if (m_codec->mibEnum() == 1000 && c2 == 0x00)
+                 {
+                   // utf16LE, we need to put the decoder in LE mode
+-                  char reverseUtf16[3] = {0xFF, 0xFE, 0x00};
++                  char reverseUtf16[3] = {'\377', '\376', '\0'};
+                   m_decoder->toUnicode(reverseUtf16, 2);
+                 }
+             }
Index: patches/patch-kinit_kinit_cpp
===================================================================
RCS file: patches/patch-kinit_kinit_cpp
diff -N patches/patch-kinit_kinit_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-kinit_kinit_cpp       17 Apr 2018 04:43:42 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+
+Index: kinit/kinit.cpp
+--- kinit/kinit.cpp.orig
++++ kinit/kinit.cpp
+@@ -321,7 +321,7 @@ const char* get_env_var( const char* var, int envc, co
+ static void init_startup_info( KStartupInfoId& id, const char* bin,
+     int envc, const char* envs )
+ {
+-    const char* dpy = get_env_var( DISPLAY"=", envc, envs );
++    const char* dpy = get_env_var( DISPLAY "=", envc, envs );
+     // this may be called in a child, so it can't use display open using 
X11display
+     // also needed for multihead
+     X11_startup_notify_display = XOpenDisplay( dpy );
+@@ -1513,7 +1513,7 @@ static void kdeinit_library_path()
+    QCString display = getenv(DISPLAY);
+    if (display.isEmpty())
+    {
+-     fprintf(stderr, "kdeinit: Aborting. $"DISPLAY" is not set.\n");
++     fprintf(stderr, "kdeinit: Aborting. $" DISPLAY " is not set.\n");
+      exit(255);
+    }
+    int i;
Index: patches/patch-kio_kio_kshred_cpp
===================================================================
RCS file: patches/patch-kio_kio_kshred_cpp
diff -N patches/patch-kio_kio_kshred_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-kio_kio_kshred_cpp    17 Apr 2018 04:43:42 -0000
@@ -0,0 +1,18 @@
+$OpenBSD$
+
+Index: kio/kio/kshred.cpp
+--- kio/kio/kshred.cpp.orig
++++ kio/kio/kshred.cpp
+@@ -206,9 +206,9 @@ KShred::flush()
+ bool
+ KShred::shred()
+ {
+-  unsigned char p[6][3] = {{'\222', '\111', '\044'}, {'\111', '\044', '\222'},
+-                           {'\044', '\222', '\111'}, {'\155', '\266', '\333'},
+-                           {'\266', '\333', '\155'}, {'\333', '\155', 
'\266'}};
++  unsigned char p[6][3] = {{  0x92, '\111', '\044'}, {'\111', '\044', 0x92},
++                           {'\044',   0x92, '\111'}, {'\155',  0xb6,  0xdb},
++                           {  0xb6,   0xdb, '\155'}, {  0xdb, '\155', 0xb6}};
+   QString msg = i18n("Shredding:  pass %1 of 35");
+ 
+   emit processedSize(0);
Index: patches/patch-kstyles_keramik_keramik_cpp
===================================================================
RCS file: patches/patch-kstyles_keramik_keramik_cpp
diff -N patches/patch-kstyles_keramik_keramik_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-kstyles_keramik_keramik_cpp   17 Apr 2018 04:43:42 -0000
@@ -0,0 +1,37 @@
+$OpenBSD$
+
+Index: kstyles/keramik/keramik.cpp
+--- kstyles/keramik/keramik.cpp.orig
++++ kstyles/keramik/keramik.cpp
+@@ -2790,18 +2790,24 @@ bool KeramikStyle::eventFilter( QObject* object, QEven
+                       //Combo dropdowns are shaped    
+                       case QEvent::Resize:
+                       {
++                              int w, h;
++
+                               QListBox* listbox = 
static_cast<QListBox*>(object);
+                               QResizeEvent* resize = 
static_cast<QResizeEvent*>(event);
+-                              if (resize->size().height() < 6)
++                              w = resize->size().width();
++                              h = resize->size().height();
++
++                              if (h < 6 || h > SHRT_MAX ||
++                                  w < 7 || w > SHRT_MAX)
+                                       return false;
+-              
++
+                               //CHECKME: Not sure the rects are perfect..
+                               XRectangle rects[5] = {
+-                                      {0, 0, resize->size().width()-2, 
resize->size().height()-6},
+-                                      {0, resize->size().height()-6, 
resize->size().width()-2, 1},
+-                                      {1, resize->size().height()-5, 
resize->size().width()-3, 1},
+-                                      {2, resize->size().height()-4, 
resize->size().width()-5, 1},
+-                                      {3, resize->size().height()-3, 
resize->size().width()-7, 1}
++                                      {0, 0, (unsigned short)(w-2), (unsigned 
short)(h-6)},
++                                      {0, (short)(h-6), (unsigned 
short)(w-2), 1},
++                                      {1, (short)(h-5), (unsigned 
short)(w-3), 1},
++                                      {2, (short)(h-4), (unsigned 
short)(w-5), 1},
++                                      {3, (short)(h-3), (unsigned 
short)(w-7), 1}
+                               };
+               
+                               XShapeCombineRectangles(qt_xdisplay(), 
listbox->handle(), ShapeBounding, 0, 0,

Reply via email to