summaryrefslogtreecommitdiff
path: root/FL
diff options
context:
space:
mode:
Diffstat (limited to 'FL')
-rw-r--r--FL/Fl_Menu_Item.H2
-rw-r--r--FL/Fl_Widget.H14
2 files changed, 14 insertions, 2 deletions
diff --git a/FL/Fl_Menu_Item.H b/FL/Fl_Menu_Item.H
index 2a96a521c..7c01379ef 100644
--- a/FL/Fl_Menu_Item.H
+++ b/FL/Fl_Menu_Item.H
@@ -241,7 +241,7 @@ struct FL_EXPORT Fl_Menu_Item {
and casting the long to a void* and may not be
portable to some machines.
*/
- long argument() const {return (long)user_data_;}
+ long argument() const {return (long)(fl_intptr_t)user_data_;}
/**
For convenience you can also define the callback as taking a long
argument. This is implemented by casting this to a Fl_Callback
diff --git a/FL/Fl_Widget.H b/FL/Fl_Widget.H
index dc3cc408d..9bcaf0beb 100644
--- a/FL/Fl_Widget.H
+++ b/FL/Fl_Widget.H
@@ -33,6 +33,18 @@
#include "Enumerations.H"
+/**
+ \todo typedef's fl_intptr_t and fl_uintptr_t should be documented.
+*/
+#ifdef _WIN64
+#include <stdint.h>
+typedef intptr_t fl_intptr_t;
+typedef uintptr_t fl_uintptr_t;
+#else
+typedef long fl_intptr_t;
+typedef unsigned long fl_uintptr_t;
+#endif
+
class Fl_Widget;
class Fl_Window;
class Fl_Group;
@@ -587,7 +599,7 @@ public:
/** Gets the current user data (long) argument that is passed to the callback function.
*/
- long argument() const {return (long)user_data_;}
+ long argument() const {return (long)(fl_intptr_t)user_data_;}
/** Sets the current user data (long) argument that is passed to the callback function.
\todo The user data value must be implemented using a \em union to avoid