[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: [patch] Khtml/DOM visibility patch
From:       Unai Garro <ugarro () telefonica ! net>
Date:       2004-11-28 19:26:33
Message-ID: 200411282026.33926.ugarro () telefonica ! net
[Download RAW message or body]

Ah, sorry, I thought both macros were the same "__attribute__ 
((visibility("default")))". I didn't even think of cross-platform macros. 

Here's the fixed dom patch. The kjs patch should be ok, since I used 
KJS_EXPORT I guess.

On Sunday 28 November 2004 20:10, you wrote:
> Unai Garro wrote:
> >A patch for DOM to KDE_EXPORT needed symbols from DOM. Or at least those
> >needed in kdegraphics/ksvg. I'm sure I left some out, but at least with
> > this one ksvg builds (and runs) just fine
>
> Hmm...
>
> s/KDE_EXPORT/KHTML_EXPORT/ everywhere.
>
> Even if it works on ELF, some less ideal platforms (including some
> deliberately brain-damaged ones like Win32's COFF PE) require that.

["DomVisibilityPatch.patch" (text/x-diff)]

Index: dom/css_value.h
===================================================================
RCS file: /home/kde/kdelibs/khtml/dom/css_value.h,v
retrieving revision 1.26
diff -u -3 -p -u -r1.26 css_value.h
--- dom/css_value.h	19 Jan 2004 16:50:42 -0000	1.26
+++ dom/css_value.h	28 Nov 2004 18:19:24 -0000
@@ -57,7 +57,7 @@ class CSSValue;
  * interface.
  *
  */
-class CSSStyleDeclaration
+class KHTML_EXPORT CSSStyleDeclaration
 {
 public:
     CSSStyleDeclaration();
@@ -240,7 +240,7 @@ class CSSValueImpl;
  * complexe value.
  *
  */
-class CSSValue
+class KHTML_EXPORT CSSValue
 {
 public:
     CSSValue();
@@ -313,7 +313,7 @@ class CSSValue;
  * of an ordered collection of CSS values.
  *
  */
-class CSSValueList : public CSSValue
+class KHTML_EXPORT CSSValueList : public CSSValue
 {
 public:
     CSSValueList();
@@ -370,7 +370,7 @@ class Rect;
  * \c CSSStyleDeclaration interface.
  *
  */
-class CSSPrimitiveValue : public CSSValue
+class KHTML_EXPORT CSSPrimitiveValue : public CSSValue
 {
 public:
     CSSPrimitiveValue();
@@ -587,7 +587,7 @@ public:
  * interface modify the style property.
  *
  */
-class RGBColor
+class KHTML_EXPORT RGBColor
 {
 public:
     RGBColor();
@@ -638,7 +638,7 @@ class RectImpl;
  * interface modify the style property.
  *
  */
-class Rect
+class KHTML_EXPORT Rect
 {
     friend class CSSPrimitiveValue;
 public:
@@ -740,4 +740,5 @@ protected:
 
 } // namespace
 
+
 #endif
Index: dom/dom2_events.h
===================================================================
RCS file: /home/kde/kdelibs/khtml/dom/dom2_events.h,v
retrieving revision 1.16
diff -u -3 -p -u -r1.16 dom2_events.h
--- dom/dom2_events.h	24 Feb 2004 12:38:40 -0000	1.16
+++ dom/dom2_events.h	28 Nov 2004 18:19:24 -0000
@@ -65,7 +65,7 @@ class MutationEventImpl;
  * add them manually.
  *
  */
-class EventListener : public DomShared {
+class KHTML_EXPORT EventListener : public DomShared {
 public:
     EventListener();
     virtual ~EventListener();
@@ -112,7 +112,7 @@ protected:
  * implemented by the object passed to the event listener.
  *
  */
-class Event {
+class KHTML_EXPORT Event {
     friend class Document;
     friend class NodeImpl;
     friend class DocumentImpl;
@@ -265,7 +265,7 @@ protected:
  * descriptions.
  *
  */
-class EventException
+class KHTML_EXPORT EventException
 {
 public:
     EventException(unsigned short _code);
@@ -297,7 +297,7 @@ public:
  * with User Interface events.
  *
  */
-class UIEvent : public Event {
+class KHTML_EXPORT UIEvent : public Event {
 public:
     UIEvent();
     UIEvent(const UIEvent &other);
@@ -395,7 +395,7 @@ protected:
  * obtain notification of mouse events which occur within its descendent elements.
  *
  */
-class MouseEvent : public UIEvent {
+class KHTML_EXPORT MouseEvent : public UIEvent {
 public:
     MouseEvent();
     MouseEvent(const MouseEvent &other);
@@ -547,7 +547,7 @@ protected:
  * the number of keypresses which have occurred during key repetition.
  * If this information is not available this value should be 0.
  */
-class TextEvent : public UIEvent {
+class KHTML_EXPORT TextEvent : public UIEvent {
 public:
     TextEvent();
     TextEvent(const TextEvent &other);
@@ -740,7 +740,7 @@ protected:
  * associated with Mutation events.
  *
  */
-class MutationEvent : public Event {
+class KHTML_EXPORT MutationEvent : public Event {
 public:
     MutationEvent();
     MutationEvent(const MutationEvent &other);
Index: dom/dom2_views.h
===================================================================
RCS file: /home/kde/kdelibs/khtml/dom/dom2_views.h,v
retrieving revision 1.6
diff -u -3 -p -u -r1.6 dom2_views.h
--- dom/dom2_views.h	9 Oct 2003 19:27:23 -0000	1.6
+++ dom/dom2_views.h	28 Nov 2004 18:19:24 -0000
@@ -23,6 +23,7 @@
 #ifndef _DOM_Views_h_
 #define _DOM_Views_h_
 
+#include <kdelibs_export.h>
 namespace DOM {
 
 class Document;
@@ -37,7 +38,7 @@ class DOMString;
  * A base interface that all views shall derive from.
  *
  */
-class AbstractView {
+class KHTML_EXPORT AbstractView {
     friend class Event;
     friend class UIEvent;
     friend class MouseEvent;
Index: dom/dom_misc.h
===================================================================
RCS file: /home/kde/kdelibs/khtml/dom/dom_misc.h,v
retrieving revision 1.12
diff -u -3 -p -u -r1.12 dom_misc.h
--- dom/dom_misc.h	10 Nov 2004 13:26:31 -0000	1.12
+++ dom/dom_misc.h	28 Nov 2004 18:19:24 -0000
@@ -22,6 +22,8 @@
 #ifndef _DOM_RefCountImpl_h_
 #define _DOM_RefCountImpl_h_
 
+#include <kdelibs_export.h>
+
 namespace DOM {
 
 /*
@@ -31,7 +33,7 @@ namespace DOM {
  * Other objects should overload deleteMe() to fit their needs. The default
  * implementation deletes the object if the ref count drops to 0.
  */
-class DomShared
+class KHTML_EXPORT DomShared
 {
 public:
   DomShared() : _ref( 0 ) {}


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic