Bladeren bron

修复一些64位机下的指针转换问题

zyh 7 jaren geleden
bovenliggende
commit
84a5451cb9
6 gewijzigde bestanden met toevoegingen van 7 en 7 verwijderingen
  1. 1 1
      include/rtgui/rtgui_object.h
  2. 1 1
      include/rtgui/widgets/widget.h
  3. 1 1
      src/image_container.c
  4. 2 2
      src/rtgui_app.c
  5. 1 1
      src/rtgui_object.c
  6. 1 1
      src/rtgui_system.c

+ 1 - 1
include/rtgui/rtgui_object.h

@@ -129,7 +129,7 @@ struct rtgui_object
 
     enum rtgui_object_flag flag;
 
-    rt_uint32_t id;
+    rt_ubase_t id;
 };
 
 rtgui_object_t *rtgui_object_create(const rtgui_type_t *object_type);

+ 1 - 1
include/rtgui/widgets/widget.h

@@ -102,7 +102,7 @@ struct rtgui_widget
     rt_int32_t flag;
 
     /* hardware device context */
-    rt_uint32_t dc_type;
+    rt_ubase_t dc_type;
     const struct rtgui_dc_engine *dc_engine;
 
     /* the graphic context of widget */

+ 1 - 1
src/image_container.c

@@ -121,7 +121,7 @@ rt_inline unsigned int primes_closest(unsigned int num)
 /* directly hash */
 unsigned int direct_hash(const void *v)
 {
-    return (unsigned int)v;
+    return (unsigned int)(((rt_ubase_t)v) & 0xFFFFFFFF);
 }
 
 rtgui_hash_table_t *hash_table_create(rtgui_hash_func_t hash_func, rtgui_equal_func_t key_equal_func)

+ 2 - 2
src/rtgui_app.c

@@ -105,7 +105,7 @@ struct rtgui_app *rtgui_app_create(const char *title)
     if (srv_app == RT_NULL)
     {
         /* set user thread */
-        tid->user_data = (rt_uint32_t)app;
+        tid->user_data = (rt_ubase_t)app;
         return app;
     }
 
@@ -116,7 +116,7 @@ struct rtgui_app *rtgui_app_create(const char *title)
     if (rtgui_send_sync(srv_app, RTGUI_EVENT(&event), sizeof(event)) == RT_EOK)
     {
         /* set user thread */
-        tid->user_data = (rt_uint32_t)app;
+        tid->user_data = (rt_ubase_t)app;
         return app;
     }
 

+ 1 - 1
src/rtgui_object.c

@@ -31,7 +31,7 @@ static void _rtgui_object_constructor(rtgui_object_t *object)
         return;
 
     object->flag = RTGUI_OBJECT_FLAG_VALID;
-    object->id   = (rt_uint32_t)object;
+    object->id   = (rt_ubase_t)object;
 }
 
 /* Destroys the object */

+ 1 - 1
src/rtgui_system.c

@@ -663,7 +663,7 @@ RTM_EXPORT(rtgui_send_urgent);
 rt_err_t rtgui_send_sync(struct rtgui_app* app, rtgui_event_t *event, rt_size_t event_size)
 {
     rt_err_t r;
-    rt_int32_t ack_buffer, ack_status;
+    rt_base_t ack_buffer, ack_status;
     struct rt_mailbox ack_mb;
 
     RT_ASSERT(app != RT_NULL);