Index: trunk/doc/TODO =================================================================== --- trunk/doc/TODO (revision 21364) +++ trunk/doc/TODO (revision 21365) @@ -2,7 +2,6 @@ 1. For the upcoming release =============================================================================== - CLEANUP: fontsel - - remove dlg_fontsel local callbacks - simplify the stub object pointers, keep only obj - rewrite buttons? - CLEANUP: rewrite the preview API: @@ -54,8 +53,11 @@ - tool_line.c depends on pcb_undo()'s return value; can be fixed only when the old undo system is removed - BUG: Rubberband move line endpoints ignores connected arc endpoints. [Fixing:Ade] - BUG: scconfig: if libgd is not detected, there's an extra error on disable-gd-gif [report: Erich] +- BUG: start a new board while fontsel is open [report: Igor2] + - should get notified by pcb change + - should not remember object by pointer but by idpath + - reset the idpath on pcb change - 2. For later releases =============================================================================== - CLEANUP: remove pcb_rubber_band_alloc() and use genvector - FEATURE: route style upgrade to prototypes: Index: trunk/src/stub_draw.c =================================================================== --- trunk/src/stub_draw.c (revision 21364) +++ trunk/src/stub_draw.c (revision 21365) @@ -45,12 +45,17 @@ pcb_text_draw_(info, &t, 0, 0, PCB_TXT_TINY_ACCURATE); } -static pcb_bool dummy_mouse(void *widget, void *draw_data, pcb_hid_mouse_ev_t kind, pcb_coord_t x, pcb_coord_t y) +static pcb_bool dummy_mouse_old(void *widget, void *draw_data, pcb_hid_mouse_ev_t kind, pcb_coord_t x, pcb_coord_t y) { return 0; } +static pcb_bool dummy_mouse(pcb_hid_mouse_ev_t kind, pcb_coord_t x, pcb_coord_t y) +{ + return 0; +} + /****** fab ******/ int dummy_DrawFab_overhang(void) @@ -77,7 +82,7 @@ void (*pcb_stub_draw_csect)(pcb_hid_gc_t gc, const pcb_hid_expose_ctx_t *e) = dummy_draw_csect; -pcb_bool (*pcb_stub_draw_csect_mouse_ev)(void *widget, void *draw_data, pcb_hid_mouse_ev_t kind, pcb_coord_t x, pcb_coord_t y) = dummy_mouse; +pcb_bool (*pcb_stub_draw_csect_mouse_ev)(void *widget, void *draw_data, pcb_hid_mouse_ev_t kind, pcb_coord_t x, pcb_coord_t y) = dummy_mouse_old; /****** font selector GUI ******/ @@ -91,7 +96,7 @@ static int dummy_fontsel_type = 0; void (*pcb_stub_draw_fontsel)(pcb_hid_gc_t gc, const pcb_hid_expose_ctx_t *e) = dummy_draw_fontsel; -pcb_bool (*pcb_stub_draw_fontsel_mouse_ev)(void *widget, void *draw_data, pcb_hid_mouse_ev_t kind, pcb_coord_t x, pcb_coord_t y) = dummy_mouse; +pcb_bool (*pcb_stub_draw_fontsel_mouse_ev)(pcb_hid_mouse_ev_t kind, pcb_coord_t x, pcb_coord_t y) = dummy_mouse; pcb_text_t **pcb_stub_draw_fontsel_text_obj = &dummy_fontsel_text; pcb_layer_t **pcb_stub_draw_fontsel_layer_obj = &dummy_fontsel_layer; int *pcb_stub_draw_fontsel_text_type = &dummy_fontsel_type; Index: trunk/src/stub_draw.h =================================================================== --- trunk/src/stub_draw.h (revision 21364) +++ trunk/src/stub_draw.h (revision 21365) @@ -46,7 +46,7 @@ /* fontsel */ extern void (*pcb_stub_draw_fontsel)(pcb_hid_gc_t gc, const pcb_hid_expose_ctx_t *e); -extern pcb_bool (*pcb_stub_draw_fontsel_mouse_ev)(void *widget, void *draw_data, pcb_hid_mouse_ev_t kind, pcb_coord_t x, pcb_coord_t y); +extern pcb_bool (*pcb_stub_draw_fontsel_mouse_ev)(pcb_hid_mouse_ev_t kind, pcb_coord_t x, pcb_coord_t y); extern pcb_text_t **pcb_stub_draw_fontsel_text_obj; extern pcb_layer_t **pcb_stub_draw_fontsel_layer_obj; extern int *pcb_stub_draw_fontsel_text_type; Index: trunk/src_plugins/dialogs/dlg_fontsel.c =================================================================== --- trunk/src_plugins/dialogs/dlg_fontsel.c (revision 21364) +++ trunk/src_plugins/dialogs/dlg_fontsel.c (revision 21365) @@ -58,7 +58,7 @@ pcb_bool fontsel_mouse_cb(pcb_hid_attribute_t *attrib, pcb_hid_preview_t *prv, pcb_hid_mouse_ev_t kind, pcb_coord_t x, pcb_coord_t y) { - return pcb_stub_draw_fontsel_mouse_ev(NULL, NULL, kind, x, y); + return pcb_stub_draw_fontsel_mouse_ev(kind, x, y); } void fontsel_free_cb(pcb_hid_attribute_t *attrib, void *user_ctx, void *hid_ctx) Index: trunk/src_plugins/draw_fontsel/draw_fontsel.c =================================================================== --- trunk/src_plugins/draw_fontsel/draw_fontsel.c (revision 21364) +++ trunk/src_plugins/draw_fontsel/draw_fontsel.c (revision 21365) @@ -187,7 +187,7 @@ return -1; } -static pcb_bool pcb_mouse_fontsel(void *widget, void *draw_data, pcb_hid_mouse_ev_t kind, pcb_coord_t x, pcb_coord_t y) +static pcb_bool pcb_mouse_fontsel(pcb_hid_mouse_ev_t kind, pcb_coord_t x, pcb_coord_t y) { pcb_font_id_t fid; int ymm;