David,

I don't have GTK installed here so I can't check for sure.  But, in
the following:

    unsigned int uival;
...
        case G_TYPE_UINT:
        case G_TYPE_ULONG:
            context->ObjectToStringSize(context->ArrayAt(args, i + 1),
(size_t *)&uival);
            coldata.data[0].v_uint = uival;
            break;
        case G_TYPE_INT64:
            context->ObjectToInt64(context->ArrayAt(args, i + 1), &ival64);
            coldata.data[0].v_int64 = ival64;
            break;
        case G_TYPE_UINT64:
            context->ObjectToUnsignedInt64(context->ArrayAt(args, i +
1), &uival64);
            coldata.data[0].v_uint64 = uival64;
            break;

It looks to me like GTK is defining their own G_TYPE_xxx names to have
portable code.  If so, I think you should have used this to fix the
compile problem on 64-bit Ubuntu:

context->ObjectToUnsignedInt32(context->ArrayAt(args, i + 1), &uival);

not this:

context->ObjectToStringSize(context->ArrayAt(args, i + 1), (size_t *)&uival);

In the above, on 64-bit systems, your casting the address of a 32-bit
variable to the address of a 64-bit variable.  That seems likely to
cause problems.

On the other hand, if GTK is varying the size of:

G_TYPE_ULONG

depending on the operating system, then maybe you should change the
declaration of uival from:

unsigned int uival;

to:

G_TYPE_ULONG uival;

---------- Forwarded message ----------
From:  <[email protected]>
Date: Fri, Dec 18, 2009 at 8:08 AM
Subject: [Oorexx-svn] SF.net SVN: oorexx:[5437] rexxgtk/trunk/grxtreestore.cpp
To: [email protected]


Revision: 5437
         http://oorexx.svn.sourceforge.net/oorexx/?rev=5437&view=rev
Author:   wdashley
Date:     2009-12-18 16:08:47 +0000 (Fri, 18 Dec 2009)

Log Message:
-----------
Oops! Left out the astericks!

Modified Paths:
--------------
   rexxgtk/trunk/grxtreestore.cpp

Modified: rexxgtk/trunk/grxtreestore.cpp
===================================================================
--- rexxgtk/trunk/grxtreestore.cpp      2009-12-18 14:45:08 UTC (rev 5436)
+++ rexxgtk/trunk/grxtreestore.cpp      2009-12-18 16:08:47 UTC (rev 5437)
@@ -177,7 +177,7 @@
            break;
        case G_TYPE_UINT:
        case G_TYPE_ULONG:
-            context->ObjectToStringSize(context->ArrayAt(args, i +
1), (size_t)&uival);
+            context->ObjectToStringSize(context->ArrayAt(args, i +
1), (size_t *)&uival);
            coldata.data[0].v_uint = uival;
            break;
        case G_TYPE_INT64:


This was sent by the SourceForge.net collaborative development
platform, the world's largest Open Source development site.

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev
_______________________________________________
Oorexx-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-svn

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to