X-Git-Url: https://git.stderr.nl/gitweb?a=blobdiff_plain;f=libchimara%2Fdispatch.c;h=8473b20899fe3772c88642bd5823230852c2c0a4;hb=1e0dc5378f314f555e3b923c6d95f5017abd528b;hp=f15472750d12de0518c488330fcf0ca6448e9b54;hpb=43b334356e9e0003589d506ae74a8c85e5b9349d;p=projects%2Fchimara%2Fchimara.git diff --git a/libchimara/dispatch.c b/libchimara/dispatch.c index f154727..8473b20 100644 --- a/libchimara/dispatch.c +++ b/libchimara/dispatch.c @@ -3,8 +3,9 @@ #include "window.h" #include "stream.h" #include "fileref.h" +#include "schannel.h" -extern GPrivate *glk_data_key; +extern GPrivate glk_data_key; /** * gidispatch_set_object_registry: @@ -69,7 +70,7 @@ extern GPrivate *glk_data_key; void gidispatch_set_object_registry(gidispatch_rock_t (*regi)(void *obj, glui32 objclass), void (*unregi)(void *obj, glui32 objclass, gidispatch_rock_t objrock)) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); winid_t win; strid_t str; frefid_t fref; @@ -108,6 +109,7 @@ gidispatch_rock_t gidispatch_get_objrock(void *obj, glui32 objclass) { g_return_val_if_fail(obj, (gidispatch_rock_t)NULL); + switch(objclass) { @@ -117,6 +119,8 @@ gidispatch_get_objrock(void *obj, glui32 objclass) return ((strid_t)obj)->disprock; case gidisp_Class_Fileref: return ((frefid_t)obj)->disprock; + case gidisp_Class_Schannel: + return ((schanid_t)obj)->disprock; default: { gidispatch_rock_t dummy; @@ -184,7 +188,7 @@ gidispatch_get_objrock(void *obj, glui32 objclass) void gidispatch_set_retained_registry(gidispatch_rock_t (*regi)(void *array, glui32 len, char *typecode), void (*unregi)(void *array, glui32 len, char *typecode, gidispatch_rock_t objrock)) { - ChimaraGlkPrivate *glk_data = g_private_get(glk_data_key); + ChimaraGlkPrivate *glk_data = g_private_get(&glk_data_key); glk_data->register_arr = regi; glk_data->unregister_arr = unregi; }