From 1ed7c297cbb56f1fbe03242af98c12ec3909f5cb Mon Sep 17 00:00:00 2001 From: Al Poole Date: Wed, 30 Aug 2017 22:18:29 +0100 Subject: [PATCH] mainview_panel: do safe checks before accessing panel->current->view Reviewers: ajwillia.ms Differential Revision: https://phab.enlightenment.org/D5149 --- src/bin/mainview/edi_mainview_panel.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/bin/mainview/edi_mainview_panel.c b/src/bin/mainview/edi_mainview_panel.c index 16b1d71..f0e76f5 100644 --- a/src/bin/mainview/edi_mainview_panel.c +++ b/src/bin/mainview/edi_mainview_panel.c @@ -452,6 +452,9 @@ edi_mainview_panel_save(Edi_Mainview_Panel *panel) { Edi_Editor *editor; + if (!panel || !panel->current) + return; + editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor"); if (!editor) return; @@ -464,6 +467,9 @@ edi_mainview_panel_undo(Edi_Mainview_Panel *panel) { Edi_Editor *editor; + if (!panel || !panel->current) + return; + editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor"); if (editor) @@ -491,6 +497,9 @@ edi_mainview_panel_redo(Edi_Mainview_Panel *panel) { Edi_Editor *editor; + if (!panel || !panel->current) + return; + editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor"); if (editor) @@ -533,6 +542,9 @@ edi_mainview_panel_cut(Edi_Mainview_Panel *panel) { Edi_Editor *editor; + if (!panel || !panel->current) + return; + editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor"); if (editor) @@ -544,6 +556,9 @@ edi_mainview_panel_copy(Edi_Mainview_Panel *panel) { Edi_Editor *editor; + if (!panel || !panel->current) + return; + editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor"); if (editor) @@ -555,6 +570,9 @@ edi_mainview_panel_paste(Edi_Mainview_Panel *panel) { Edi_Editor *editor; + if (!panel || !panel->current) + return; + editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor"); if (editor) @@ -568,6 +586,9 @@ edi_mainview_panel_search(Edi_Mainview_Panel *panel) if (edi_mainview_is_empty()) return; + if (!panel || !panel->current) + return; + editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor"); if (editor) @@ -579,6 +600,9 @@ edi_mainview_panel_goto(Edi_Mainview_Panel *panel, unsigned int number) { if (edi_mainview_is_empty()) return; + if (!panel || !panel->current) + return; + edi_mainview_panel_goto_position(panel, number, 1); } @@ -587,6 +611,9 @@ edi_mainview_panel_goto_position(Edi_Mainview_Panel *panel, unsigned int row, un { Edi_Editor *editor; + if (!panel || !panel->current) + return; + editor = (Edi_Editor *)evas_object_data_get(panel->current->view, "editor"); if (!editor || row <= 0 || col <= 0) return;