From 40600342ac3681a7cfe87f458b75c4a7b3fd8717 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thore=20B=C3=B6ckelmann?= Date: Mon, 15 Jan 2018 05:26:40 +0100 Subject: [PATCH] * misc: add the unique names for private custom classes for MUI4 and up only. With MUI 3.8 this causes crashes. This closes #2. --- ChangeLog | 5 +++++ nlist_mcc/NList_grp.c | 7 +++++-- nlist_mcc/NList_img.c | 7 +++++-- nlist_mcc/NList_img2.c | 8 ++++++-- nlisttree_mcc/NListtree.c | 9 ++++++--- 5 files changed, 27 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index e3e1a7e..37f698c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,11 @@ MUI NList MCC classes - ChangeLog --------------------------------- +2018-01-15 Thore Böckelmann + + * misc: add the unique names for private custom classes for MUI4 and up only. + With MUI 3.8 this causes crashes. This closes #2. + #### v0.123 RELEASE ########################################################### 2018-01-11 Thore Böckelmann diff --git a/nlist_mcc/NList_grp.c b/nlist_mcc/NList_grp.c index 927eeaa..8d38b78 100644 --- a/nlist_mcc/NList_grp.c +++ b/nlist_mcc/NList_grp.c @@ -79,8 +79,11 @@ struct MUI_CustomClass *NGR_Create(void) { if((NGR_Class = MUI_CreateCustomClass(NULL, (STRPTR)MUIC_Group, NULL, sizeof(struct NGRData), ENTRY(NGR_Dispatcher))) != NULL) { - // set up unique names for our custom classes - NGR_Class->mcc_Class->cl_ID = (ClassID)MUIC_NList "/NGR"; + if(LIB_VERSION_IS_AT_LEAST(MUIMasterBase, 20, 0)) + { + // set up unique names for our custom classes + NGR_Class->mcc_Class->cl_ID = (ClassID)MUIC_NList "/NGR"; + } } return (NGR_Class); diff --git a/nlist_mcc/NList_img.c b/nlist_mcc/NList_img.c index edf78ef..eb0a270 100644 --- a/nlist_mcc/NList_img.c +++ b/nlist_mcc/NList_img.c @@ -99,8 +99,11 @@ struct MUI_CustomClass *NLI_Create(void) { if((NLI_Class = MUI_CreateCustomClass(NULL, (STRPTR)MUIC_Image, NULL, sizeof(struct NLIData), ENTRY(NLI_Dispatcher))) != NULL) { - // set up unique names for our custom classes - NLI_Class->mcc_Class->cl_ID = (ClassID)MUIC_NList "/NLI"; + if(LIB_VERSION_IS_AT_LEAST(MUIMasterBase, 20, 0)) + { + // set up unique names for our custom classes + NLI_Class->mcc_Class->cl_ID = (ClassID)MUIC_NList "/NLI"; + } } return (NLI_Class); diff --git a/nlist_mcc/NList_img2.c b/nlist_mcc/NList_img2.c index ac039dc..9d3a216 100644 --- a/nlist_mcc/NList_img2.c +++ b/nlist_mcc/NList_img2.c @@ -100,9 +100,13 @@ struct MUI_CustomClass *NLI2_Create(void) //NLI2_Class = MUI_CreateCustomClass(NULL, MUIC_Image, NULL, sizeof(struct NLIData), ENTRY(NLI2_Dispatcher)); if((NLI2_Class = MUI_CreateCustomClass(NULL, MUIC_Image, NULL, sizeof(struct NLIData), ENTRY(NLI_Dispatcher))) != NULL) { - // set up unique names for our custom classes - NLI2_Class->mcc_Class->cl_ID = (ClassID)MUIC_NList "/NLI2"; + if(LIB_VERSION_IS_AT_LEAST(MUIMasterBase, 20, 0)) + { + // set up unique names for our custom classes + NLI2_Class->mcc_Class->cl_ID = (ClassID)MUIC_NList "/NLI2"; + } } + return (NLI2_Class); } diff --git a/nlisttree_mcc/NListtree.c b/nlisttree_mcc/NListtree.c index 5d41ee9..61b02b9 100644 --- a/nlisttree_mcc/NListtree.c +++ b/nlisttree_mcc/NListtree.c @@ -5284,9 +5284,12 @@ IPTR _New(struct IClass *cl, Object *obj, struct opSet *msg) { if((data->CL_NodeImage = MUI_CreateCustomClass(NULL, (STRPTR)MUIC_Image, NULL, sizeof(struct TreeImage_Data), ENTRY(NodeImage_Dispatcher)))) { - // set up unique names for our custom classes - data->CL_TreeImage->mcc_Class->cl_ID = (ClassID)MUIC_NListtree "/treeimage"; - data->CL_NodeImage->mcc_Class->cl_ID = (ClassID)MUIC_NListtree "/nodeimage"; + if(LIB_VERSION_IS_AT_LEAST(MUIMasterBase, 20, 0)) + { + // set up unique names for our custom classes + data->CL_TreeImage->mcc_Class->cl_ID = (ClassID)MUIC_NListtree "/treeimage"; + data->CL_NodeImage->mcc_Class->cl_ID = (ClassID)MUIC_NListtree "/nodeimage"; + } ActivateNotify( data );