diff --git a/ChangeLog b/ChangeLog index 147d6522f6..133cc74b9d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ + +Sun Jun 6 14:19:08 BST 1999 Andy Thomas + + * app/bezier_select.c + * app/paths_dialog.c + + Applied bezier/paths patches supplied by David LE CORFEC. + These fix a couple of segv. problems. + Sat Jun 5 17:03:15 PDT 1999 Manish Singh * Made 1.1.6 release diff --git a/app/bezier_select.c b/app/bezier_select.c index 51ce058ea5..6805664acb 100644 --- a/app/bezier_select.c +++ b/app/bezier_select.c @@ -741,7 +741,8 @@ bezier_edit_point_on_curve(int x, break; case BEZIER_CONTROL: bezier_sel->cur_control = points; - if (bezier_sel->cur_control->next->type == BEZIER_ANCHOR) + if (bezier_sel->cur_control->next && + bezier_sel->cur_control->next->type == BEZIER_ANCHOR) bezier_sel->cur_anchor = bezier_sel->cur_control->next; else bezier_sel->cur_anchor = bezier_sel->cur_control->prev; diff --git a/app/gui/paths-dialog.c b/app/gui/paths-dialog.c index b656ae83b9..7a01be97c8 100644 --- a/app/gui/paths-dialog.c +++ b/app/gui/paths-dialog.c @@ -1524,6 +1524,10 @@ paths_dialog_path_to_sel_callback (GtkWidget * widget, gpointer udata) plp = paths_dialog->current_path_list; bzp = (PATHP)g_slist_nth_data(plp->bz_paths,row); + /* Return if no point list */ + if (!bzp->path_details) + return; + /* Now do the selection....*/ gdisp = gdisplays_check_valid(paths_dialog->current_path_list->gdisp, paths_dialog->gimage); diff --git a/app/paths_dialog.c b/app/paths_dialog.c index b656ae83b9..7a01be97c8 100644 --- a/app/paths_dialog.c +++ b/app/paths_dialog.c @@ -1524,6 +1524,10 @@ paths_dialog_path_to_sel_callback (GtkWidget * widget, gpointer udata) plp = paths_dialog->current_path_list; bzp = (PATHP)g_slist_nth_data(plp->bz_paths,row); + /* Return if no point list */ + if (!bzp->path_details) + return; + /* Now do the selection....*/ gdisp = gdisplays_check_valid(paths_dialog->current_path_list->gdisp, paths_dialog->gimage); diff --git a/app/tools/bezier_select.c b/app/tools/bezier_select.c index 51ce058ea5..6805664acb 100644 --- a/app/tools/bezier_select.c +++ b/app/tools/bezier_select.c @@ -741,7 +741,8 @@ bezier_edit_point_on_curve(int x, break; case BEZIER_CONTROL: bezier_sel->cur_control = points; - if (bezier_sel->cur_control->next->type == BEZIER_ANCHOR) + if (bezier_sel->cur_control->next && + bezier_sel->cur_control->next->type == BEZIER_ANCHOR) bezier_sel->cur_anchor = bezier_sel->cur_control->next; else bezier_sel->cur_anchor = bezier_sel->cur_control->prev;