Index: trunk/scconfig/gen_core_lists.sh =================================================================== --- trunk/scconfig/gen_core_lists.sh (revision 29384) +++ trunk/scconfig/gen_core_lists.sh (nonexistent) @@ -1,38 +0,0 @@ -#!/bin/sh - -if test -z "$AWK" -then - AWK="awk" -fi - -for f in $* -do - echo "___name___ $f" - cat $f -done | $AWK ' -BEGIN { - q = "\"" - print "/**** DO NOT EDIT - automatically generated by gen_core_lists.sh ****/" - print "" -} - -/^___name___/ { - basename = $2 - sub("/[^/]*$", "", basename) -} - -/^PCB_REGISTER/ { - LIST[basename] = LIST[basename] $0 "\n" -} - -END { - for(n in LIST) { - print "/* " n " */" - gsub("PCB_REGISTER_ACTIONS_FUNC", "PCB_REGISTER_ACTIONS_CALL", LIST[n]) - - print LIST[n] - } -} - -' - Property changes on: trunk/scconfig/gen_core_lists.sh ___________________________________________________________________ Deleted: svn:executable ## -1 +0,0 ## -* \ No newline at end of property Index: trunk/scconfig/Rev.h =================================================================== --- trunk/scconfig/Rev.h (revision 29384) +++ trunk/scconfig/Rev.h (revision 29385) @@ -1 +1 @@ -static const int myrev = 29375; +static const int myrev = 29385; Index: trunk/scconfig/Rev.tab =================================================================== --- trunk/scconfig/Rev.tab (revision 29384) +++ trunk/scconfig/Rev.tab (revision 29385) @@ -1,3 +1,4 @@ +29385 configure remove build system special casing: generated lists for action registration 29375 configure librnd separation: stroke plugin API conversion from stub to event 29340 configure librnd separation: tool code 29309 distclean librnd separation Index: trunk/src/Makefile.dep =================================================================== --- trunk/src/Makefile.dep (revision 29384) +++ trunk/src/Makefile.dep (revision 29385) @@ -8913,7 +8913,7 @@ librnd/core/tool.h netlist.h extobj.h obj_subc_parent.h draw.h \ librnd/core/pixmap.h librnd/core/actions.h actions_pcb.h \ librnd/core/hid_init.h librnd/core/compat_misc.h tool_logic.h \ - funchash_core.h funchash_core_list.h generated_lists.h + funchash_core.h funchash_core_list.h main_act.o: main_act.c ../config.h librnd/config.h undo.h \ ../src_3rd/libuundo/uundo.h undo_old.h global_typedefs.h \ librnd/core/global_typedefs.h librnd/core/pcb_bool.h change.h board.h \ Index: trunk/src/Makefile.in =================================================================== --- trunk/src/Makefile.in (revision 29384) +++ trunk/src/Makefile.in (revision 29385) @@ -44,7 +44,7 @@ end # These files are to be generated before make dep is run -put /local/pcb/DEPDEPS { $(LIBRND)/core/hidlib_conf_fields.h conf_core_fields.h conf_internal.c generated_lists.h defpcb_internal.c buildin.c buildin.hidlib.c pcb_menu_default.c } +put /local/pcb/DEPDEPS { $(LIBRND)/core/hidlib_conf_fields.h conf_core_fields.h conf_internal.c defpcb_internal.c buildin.c buildin.hidlib.c pcb_menu_default.c } include {../scconfig/template/debug.tmpasm} @@ -265,14 +265,6 @@ put /local/pcb/OBJS_UTIL [@ @] -# main: action registrations -put /local/pcb/ACTION_REG_SRC { - buffer.c brave.c change_act.c conf_act.c file_act.c drc.c extobj_act.c - gui_act.c main_act.c netlist_act.c font_act.c - object_act.c obj_pstk_act.c polygon_act.c plug_footprint_act.c rats_act.c - rats_patch.c remove_act.c select_act.c undo_act.c -} - #---- modules ----# # extra rules for modules put /local/pcb/RULES {} @@ -329,7 +321,6 @@ uniq /local/pcb/LIBS uniq /local/pcb/LIBS_PRE uniq /local/pcb/LIBS_3RD -uniq /local/pcb/ACTION_REG_SRC uniq /local/pcb/EXEDEPS uniq /local/pcb/CLEANFILES uniq /local/pcb/DISTCLEANFILES @@ -522,9 +513,6 @@ all-local: pcbtest.sh -generated_lists.h: @/local/pcb/ACTION_REG_SRC@ Makefile - AWK=@/host/fstools/awk@ $(ROOT)/scconfig/gen_core_lists.sh @/local/pcb/ACTION_REG_SRC@ > generated_lists.h - conf_core_fields.h: conf_core.h $(ROOT)/doc/conf/tree/rc.html AWK=@/host/fstools/awk@ $(ROOT)/scconfig/gen_conf.sh < conf_core.h > conf_core_fields.h @@ -549,7 +537,7 @@ FORCE: -DISTCLEANFILES = Makefile.depgen core_lists.h buildin.c buildin.h buildin.hidlib.c $(LIBRND)/core/buildin.hidlib.h $(LIBRND)/core/compat_inc.h $(LIBRND)/core/hidlib_conf_fields.h conf_core_fields.h conf_internal.c generated_lists.h defpcb_internal.c pcb_menu_default.c ../src_plugins/.builtin.pups ../src_plugins/.builtin.hidlib.pups $(LIBRND)/core/librnd.mak @/local/pcb/DISTCLEANFILES@ +DISTCLEANFILES = Makefile.depgen core_lists.h buildin.c buildin.h buildin.hidlib.c $(LIBRND)/core/buildin.hidlib.h $(LIBRND)/core/compat_inc.h $(LIBRND)/core/hidlib_conf_fields.h conf_core_fields.h conf_internal.c defpcb_internal.c pcb_menu_default.c ../src_plugins/.builtin.pups ../src_plugins/.builtin.hidlib.pups $(LIBRND)/core/librnd.mak @/local/pcb/DISTCLEANFILES@ clean: $(CLEANRULES) $(SCCBOX) rm -f -q pcb-rnd $(HIDLIB_CLEAN_FILES) $(OBJS) $(OBJS_C99) $(OBJS_HIDLIB_ONLY) $(CLEANFILES) Index: trunk/src/brave.c =================================================================== --- trunk/src/brave.c (revision 29384) +++ trunk/src/brave.c (revision 29385) @@ -275,13 +275,15 @@ return 0; } -pcb_action_t brave_action_list[] = { +static pcb_action_t brave_action_list[] = { {"Brave", pcb_act_Brave, pcb_acth_Brave, pcb_acts_Brave} }; -PCB_REGISTER_ACTIONS_FUNC(brave_action_list, NULL) +void pcb_brave_init2(void) +{ + PCB_REGISTER_ACTIONS(brave_action_list, NULL); +} - void pcb_brave_init(void) { conf_native_t *n = pcb_conf_get_field("rc/brave"); Index: trunk/src/buffer.c =================================================================== --- trunk/src/buffer.c (revision 29384) +++ trunk/src/buffer.c (revision 29385) @@ -1183,7 +1183,7 @@ /* --------------------------------------------------------------------------- */ -pcb_action_t buffer_action_list[] = { +static pcb_action_t buffer_action_list[] = { {"FreeRotateBuffer", pcb_act_FreeRotateBuffer, pcb_acth_FreeRotateBuffer, pcb_acts_FreeRotateBuffer}, {"ScaleBuffer", pcb_act_ScaleBuffer, pcb_acth_ScaleBuffer, pcb_acts_ScaleBuffer}, {"LoadFootprint", pcb_act_LoadFootprint, pcb_acth_LoadFootprint, pcb_acts_LoadFootprint}, @@ -1190,4 +1190,10 @@ {"PasteBuffer", pcb_act_PasteBuffer, pcb_acth_PasteBuffer, pcb_acts_PasteBuffer} }; -PCB_REGISTER_ACTIONS_FUNC(buffer_action_list, NULL) +void pcb_buffer_init2(void) +{ + PCB_REGISTER_ACTIONS(buffer_action_list, NULL); +} + + + Index: trunk/src/change_act.c =================================================================== --- trunk/src/change_act.c (revision 29384) +++ trunk/src/change_act.c (revision 29385) @@ -963,7 +963,7 @@ /* --------------------------------------------------------------------------- */ -pcb_action_t change_action_list[] = { +static pcb_action_t change_action_list[] = { {"ChangeAngle", pcb_act_ChangeAngle, pcb_acth_ChangeAngle, pcb_acts_ChangeAngle}, {"ChangeClearSize", pcb_act_ChangeClearSize, pcb_acth_ChangeClearSize, pcb_acts_ChangeClearSize}, {"ChangeDrillSize", pcb_act_Change2ndSize, pcb_acth_Change2ndSize, pcb_acts_Change2ndSize}, @@ -981,4 +981,11 @@ {"ClrFlag", pcb_act_ClrFlag, pcb_acth_ClrFlag, pcb_acts_ClrFlag} }; -PCB_REGISTER_ACTIONS_FUNC(change_action_list, NULL) +void pcb_change_act_init2(void) +{ + PCB_REGISTER_ACTIONS(change_action_list, NULL); +} + + + + Index: trunk/src/conf_act.c =================================================================== --- trunk/src/conf_act.c (revision 29384) +++ trunk/src/conf_act.c (revision 29385) @@ -327,7 +327,7 @@ return 0; } -pcb_action_t conf_action_list[] = { +static pcb_action_t conf_action_list[] = { {"conf", pcb_act_Conf, pcb_acth_Conf, pcb_acts_Conf}, {"GetStyle", pcb_act_GetStyle, pcb_acth_GetStyle, pcb_acts_GetStyle}, {"ChkMode", pcb_act_ChkMode, pcb_acth_ChkMode, pcb_acts_ChkMode}, @@ -338,4 +338,10 @@ {"ChkBuffer", pcb_act_ChkBuffer, pcb_acth_ChkBuffer, pcb_acts_ChkBuffer} }; -PCB_REGISTER_ACTIONS_FUNC(conf_action_list, NULL) +void pcb_conf_act_init2(void) +{ + PCB_REGISTER_ACTIONS(conf_action_list, NULL); +} + + + Index: trunk/src/drc.c =================================================================== --- trunk/src/drc.c (revision 29384) +++ trunk/src/drc.c (revision 29385) @@ -172,9 +172,12 @@ return view_dlg(res, argc, argv, dlg_type, "ioincompatlistdialog", &pcb_drc_lst, pcb_drc_all); } -pcb_action_t find_action_list[] = { +static pcb_action_t drc_action_list[] = { {"DRC", pcb_act_DRC, pcb_acth_DRC, pcb_acts_DRC}, {"IOIncompatList", pcb_act_IOIncompatList, pcb_acth_IOIncompatList, pcb_acts_IOIncompatList}, }; -PCB_REGISTER_ACTIONS_FUNC(find_action_list, NULL) +void pcb_drc_act_init2(void) +{ + PCB_REGISTER_ACTIONS(drc_action_list, NULL); +} Index: trunk/src/extobj_act.c =================================================================== --- trunk/src/extobj_act.c (revision 29384) +++ trunk/src/extobj_act.c (revision 29385) @@ -214,9 +214,12 @@ return 0; } -pcb_action_t pcb_extobj_action_list[] = { +static pcb_action_t pcb_extobj_action_list[] = { {"ExtobjConvFrom", pcb_act_ExtobjConvFrom, pcb_acth_ExtobjConvFrom, pcb_acts_ExtobjConvFrom}, {"ExtobjGUIPropEdit", pcb_act_ExtobjGUIPropEdit, pcb_acth_ExtobjGUIPropEdit, pcb_acts_ExtobjGUIPropEdit} }; -PCB_REGISTER_ACTIONS_FUNC(pcb_extobj_action_list, NULL) +void pcb_extobj_act_init2(void) +{ + PCB_REGISTER_ACTIONS(pcb_extobj_action_list, NULL); +} Index: trunk/src/file_act.c =================================================================== --- trunk/src/file_act.c (revision 29384) +++ trunk/src/file_act.c (revision 29385) @@ -541,4 +541,7 @@ {"Quit", pcb_act_Quit, pcb_acth_Quit, pcb_acts_Quit} }; -PCB_REGISTER_ACTIONS_FUNC(file_action_list, NULL) +void pcb_file_act_init2(void) +{ + PCB_REGISTER_ACTIONS(file_action_list, NULL); +} Index: trunk/src/font_act.c =================================================================== --- trunk/src/font_act.c (revision 29384) +++ trunk/src/font_act.c (revision 29385) @@ -170,9 +170,12 @@ } -pcb_action_t font_action_list[] = { +static pcb_action_t font_action_list[] = { {"LoadFontFrom", pcb_act_load_font_from, pcb_acth_load_font_from, pcb_acts_load_font_from}, {"SaveFontTo", pcb_act_save_font_to, pcb_acth_save_font_to, pcb_acts_save_font_to} }; -PCB_REGISTER_ACTIONS_FUNC(font_action_list, NULL) +void pcb_font_act_init2(void) +{ + PCB_REGISTER_ACTIONS(font_action_list, NULL); +} Index: trunk/src/gui_act.c =================================================================== --- trunk/src/gui_act.c (revision 29384) +++ trunk/src/gui_act.c (revision 29385) @@ -1735,7 +1735,7 @@ return 0; } -pcb_action_t gui_action_list[] = { +static pcb_action_t gui_action_list[] = { {"Display", pcb_act_Display, pcb_acth_Display, pcb_acts_Display}, {"CycleDrag", pcb_act_CycleDrag, pcb_acth_CycleDrag, pcb_acts_CycleDrag}, {"FullScreen", pcb_act_FullScreen, pcb_acth_FullScreen, pcb_acts_FullScreen}, @@ -1769,4 +1769,7 @@ {"Redraw", pcb_act_Redraw, pcb_acth_Redraw, pcb_acts_Redraw} }; -PCB_REGISTER_ACTIONS_FUNC(gui_action_list, NULL) +void pcb_gui_act_init2(void) +{ + PCB_REGISTER_ACTIONS(gui_action_list, NULL); +} Index: trunk/src/main.c =================================================================== --- trunk/src/main.c (revision 29384) +++ trunk/src/main.c (revision 29385) @@ -268,6 +268,51 @@ } } +extern void pcb_buffer_init2(void); +extern void pcb_brave_init2(void); +extern void pcb_change_act_init2(void); +extern void pcb_conf_act_init2(void); +extern void pcb_drc_act_init2(void); +extern void pcb_extobj_act_init2(void); +extern void pcb_file_act_init2(void); +extern void pcb_font_act_init2(void); +extern void pcb_gui_act_init2(void); +extern void pcb_main_act_init2(void); +extern void pcb_netlist_act_init2(void); +extern void pcb_object_act_init2(void); +extern void pcb_poly_act_init2(void); +extern void pcb_plug_footprint_act_init2(void); +extern void pcb_pstk_act_init2(void); +extern void pcb_rats_act_init2(void); +extern void pcb_rats_patch_init2(void); +extern void pcb_remove_act_init2(void); +extern void pcb_select_act_init2(void); +extern void pcb_undo_act_init2(void); + +void pcb_main_init_actions(void) +{ + pcb_buffer_init2(); + pcb_brave_init2(); + pcb_change_act_init2(); + pcb_conf_act_init2(); + pcb_drc_act_init2(); + pcb_extobj_act_init2(); + pcb_file_act_init2(); + pcb_font_act_init2(); + pcb_gui_act_init2(); + pcb_main_act_init2(); + pcb_netlist_act_init2(); + pcb_object_act_init2(); + pcb_poly_act_init2(); + pcb_plug_footprint_act_init2(); + pcb_pstk_act_init2(); + pcb_rats_act_init2(); + pcb_rats_patch_init2(); + pcb_remove_act_init2(); + pcb_select_act_init2(); + pcb_undo_act_init2(); +} + extern void pcb_poly_uninit(void); void pcb_main_uninit(void) @@ -435,7 +480,7 @@ /* Initialize actions only when the gui is already known so only the right one is registered (there can be only one GUI). */ -#include "generated_lists.h" + pcb_main_init_actions(); if (pcbhl_main_args_setup2(&ga, &n) != 0) { pcb_main_uninit(); Index: trunk/src/main_act.c =================================================================== --- trunk/src/main_act.c (revision 29384) +++ trunk/src/main_act.c (revision 29385) @@ -420,7 +420,7 @@ return 0; } -pcb_action_t main_action_list[] = { +static pcb_action_t main_action_list[] = { {"PrintActions", pcb_act_PrintActions, pcb_acth_PrintActions, pcb_acts_PrintActions}, {"DumpActions", pcb_act_DumpActions, pcb_acth_DumpActions, pcb_acts_DumpActions}, {"PrintUsage", pcb_act_PrintUsage, pcb_acth_PrintUsage, pcb_acts_PrintUsage}, @@ -437,4 +437,7 @@ {"ExecuteFile", pcb_act_ExecuteFile, pcb_acth_ExecuteFile, pcb_acts_ExecuteFile} }; -PCB_REGISTER_ACTIONS_FUNC(main_action_list, NULL) +void pcb_main_act_init2(void) +{ + PCB_REGISTER_ACTIONS(main_action_list, NULL); +} Index: trunk/src/netlist_act.c =================================================================== --- trunk/src/netlist_act.c (revision 29384) +++ trunk/src/netlist_act.c (revision 29385) @@ -617,10 +617,13 @@ } -pcb_action_t netlist_action_list[] = { +static pcb_action_t netlist_action_list[] = { {"net", pcb_act_Netlist, pcb_acth_Netlist, pcb_acts_Netlist}, {"netlist", pcb_act_Netlist, pcb_acth_Netlist, pcb_acts_Netlist}, {"claimnet", pcb_act_ClaimNet, pcb_acth_ClaimNet, pcb_acts_ClaimNet} }; -PCB_REGISTER_ACTIONS_FUNC(netlist_action_list, NULL) +void pcb_netlist_act_init2(void) +{ + PCB_REGISTER_ACTIONS(netlist_action_list, NULL); +} Index: trunk/src/obj_pstk_act.c =================================================================== --- trunk/src/obj_pstk_act.c (revision 29384) +++ trunk/src/obj_pstk_act.c (revision 29385) @@ -214,10 +214,15 @@ /* --------------------------------------------------------------------------- */ -pcb_action_t padstack_action_list[] = { +static pcb_action_t padstack_action_list[] = { {"PadstackConvert", pcb_act_padstackconvert, pcb_acth_padstackconvert, pcb_acts_padstackconvert}, {"PadstackBreakup", pcb_act_padstackbreakup, pcb_acth_padstackbreakup, pcb_acts_padstackbreakup}, {"PadstackPlace", pcb_act_padstackplace, pcb_acth_padstackplace, pcb_acts_padstackplace} }; -PCB_REGISTER_ACTIONS_FUNC(padstack_action_list, NULL) +void pcb_pstk_act_init2(void) +{ + PCB_REGISTER_ACTIONS(padstack_action_list, NULL); +} + + Index: trunk/src/object_act.c =================================================================== --- trunk/src/object_act.c (revision 29384) +++ trunk/src/object_act.c (revision 29385) @@ -1051,7 +1051,7 @@ return 0; } -pcb_action_t object_action_list[] = { +static pcb_action_t object_action_list[] = { {"Attributes", pcb_act_Attributes, pcb_acth_Attributes, pcb_acts_Attributes}, {"DisperseElements", pcb_act_DisperseElements, pcb_acth_DisperseElements, pcb_acts_DisperseElements}, {"Flip", pcb_act_Flip, pcb_acth_Flip, pcb_acts_Flip}, @@ -1067,4 +1067,7 @@ {"Rotate90", pcb_act_Rotate90, pcb_acth_Rotate90, pcb_acts_Rotate90} }; -PCB_REGISTER_ACTIONS_FUNC(object_action_list, NULL) +void pcb_object_act_init2(void) +{ + PCB_REGISTER_ACTIONS(object_action_list, NULL); +} Index: trunk/src/plug_footprint_act.c =================================================================== --- trunk/src/plug_footprint_act.c (revision 29384) +++ trunk/src/plug_footprint_act.c (revision 29385) @@ -76,8 +76,11 @@ } -pcb_action_t conf_plug_footprint_list[] = { +static pcb_action_t plug_footprint_list[] = { {"fp_rehash", pcb_act_fp_rehash, pcb_acth_fp_rehash, pcb_acts_fp_rehash} }; -PCB_REGISTER_ACTIONS_FUNC(conf_plug_footprint_list, NULL) +void pcb_plug_footprint_act_init2(void) +{ + PCB_REGISTER_ACTIONS(plug_footprint_list, NULL); +} Index: trunk/src/polygon_act.c =================================================================== --- trunk/src/polygon_act.c (revision 29384) +++ trunk/src/polygon_act.c (revision 29385) @@ -123,9 +123,12 @@ } -pcb_action_t polygon_action_list[] = { +static pcb_action_t polygon_action_list[] = { {"MorphPolygon", pcb_act_MorphPolygon, pcb_acth_MorphPolygon, pcb_acts_MorphPolygon}, {"Polygon", pcb_act_Polygon, pcb_acth_Polygon, pcb_acts_Polygon} }; -PCB_REGISTER_ACTIONS_FUNC(polygon_action_list, NULL) +void pcb_poly_act_init2(void) +{ + PCB_REGISTER_ACTIONS(polygon_action_list, NULL); +} Index: trunk/src/rats_act.c =================================================================== --- trunk/src/rats_act.c (revision 29384) +++ trunk/src/rats_act.c (revision 29385) @@ -195,10 +195,15 @@ } -pcb_action_t rats_action_list[] = { +static pcb_action_t rats_action_list[] = { {"AddRats", pcb_act_AddRats, pcb_acth_AddRats, pcb_acts_AddRats}, {"Connection", pcb_act_Connection, pcb_acth_Connection, pcb_acts_Connection}, {"DeleteRats", pcb_act_DeleteRats, pcb_acth_DeleteRats, pcb_acts_DeleteRats} }; -PCB_REGISTER_ACTIONS_FUNC(rats_action_list, NULL) +void pcb_rats_act_init2(void) +{ + PCB_REGISTER_ACTIONS(rats_action_list, NULL); +} + + Index: trunk/src/rats_patch.c =================================================================== --- trunk/src/rats_patch.c (revision 29384) +++ trunk/src/rats_patch.c (revision 29385) @@ -630,9 +630,14 @@ return 0; } -pcb_action_t rats_patch_action_list[] = { +static pcb_action_t rats_patch_action_list[] = { {"ReplaceFootprint", pcb_act_ReplaceFootprint, pcb_acth_ReplaceFootprint, pcb_acts_ReplaceFootprint}, {"SavePatch", pcb_act_SavePatch, pcb_acth_SavePatch, pcb_acts_SavePatch} }; -PCB_REGISTER_ACTIONS_FUNC(rats_patch_action_list, NULL) +void pcb_rats_patch_init2(void) +{ + PCB_REGISTER_ACTIONS(rats_patch_action_list, NULL); +} + + Index: trunk/src/remove_act.c =================================================================== --- trunk/src/remove_act.c (revision 29384) +++ trunk/src/remove_act.c (revision 29385) @@ -107,10 +107,13 @@ } -pcb_action_t remove_action_list[] = { +static pcb_action_t remove_action_list[] = { {"Delete", pcb_act_Delete, pcb_acth_Delete, pcb_acts_Delete}, {"PcbDelete", pcb_act_Delete, NULL, "Alias to Delete()"}, {"RemoveSelected", pcb_act_RemoveSelected, pcb_acth_RemoveSelected, pcb_acts_RemoveSelected} }; -PCB_REGISTER_ACTIONS_FUNC(remove_action_list, NULL) +void pcb_remove_act_init2(void) +{ + PCB_REGISTER_ACTIONS(remove_action_list, NULL); +} Index: trunk/src/select_act.c =================================================================== --- trunk/src/select_act.c (revision 29384) +++ trunk/src/select_act.c (revision 29385) @@ -236,9 +236,14 @@ return 0; } -pcb_action_t select_action_list[] = { +static pcb_action_t select_action_list[] = { {"Select", pcb_act_Select, pcb_acth_Select, pcb_acts_Select}, {"Unselect", pcb_act_Unselect, pcb_acth_Unselect, pcb_acts_Unselect} }; -PCB_REGISTER_ACTIONS_FUNC(select_action_list, NULL) +void pcb_select_act_init2(void) +{ + PCB_REGISTER_ACTIONS(select_action_list, NULL); +} + + Index: trunk/src/undo_act.c =================================================================== --- trunk/src/undo_act.c (revision 29384) +++ trunk/src/undo_act.c (revision 29385) @@ -138,10 +138,15 @@ } -pcb_action_t undo_action_list[] = { +static pcb_action_t undo_action_list[] = { {"Atomic", pcb_act_Atomic, pcb_acth_Atomic, pcb_acts_Atomic}, {"Undo", pcb_act_Undo, pcb_acth_Undo, pcb_acts_Undo}, {"Redo", pcb_act_Redo, pcb_acth_Redo, pcb_acts_Redo} }; -PCB_REGISTER_ACTIONS_FUNC(undo_action_list, NULL) +void pcb_undo_act_init2(void) +{ + PCB_REGISTER_ACTIONS(undo_action_list, NULL); +} + +