[evolution] ESelectionModel: Don't assume an ESorter is present.



commit 97c70105b71adc9b7cb9f4db15bf44f98133a82c
Author: Matthew Barnes <mbarnes redhat com>
Date:   Fri Jun 21 09:47:57 2013 -0400

    ESelectionModel: Don't assume an ESorter is present.
    
    ETree does not provide one anymore.

 e-util/e-selection-model.c |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)
---
diff --git a/e-util/e-selection-model.c b/e-util/e-selection-model.c
index 31d6657..32aac7d 100644
--- a/e-util/e-selection-model.c
+++ b/e-util/e-selection-model.c
@@ -654,7 +654,7 @@ move_selection (ESelectionModel *model,
        gint row_count;
 
        /* there is no selected row when row is -1 */
-       if (row != -1)
+       if (row != -1 && model->sorter != NULL)
                row = e_sorter_model_to_sorted (model->sorter, row);
 
        if (up)
@@ -666,7 +666,8 @@ move_selection (ESelectionModel *model,
        row_count = e_selection_model_row_count (model);
        if (row >= row_count)
                row = row_count - 1;
-       row = e_sorter_sorted_to_model (model->sorter, row);
+       if (model->sorter != NULL)
+               row = e_sorter_sorted_to_model (model->sorter, row);
 
        e_selection_model_select_as_key_press (model, row, col, state);
        return TRUE;
@@ -733,7 +734,9 @@ e_selection_model_key_press (ESelectionModel *model,
                        gint row = 0;
                        gint cursor_col = e_selection_model_cursor_col (model);
 
-                       row = e_sorter_sorted_to_model (model->sorter, row);
+                       if (model->sorter != NULL)
+                               row = e_sorter_sorted_to_model (
+                                       model->sorter, row);
                        e_selection_model_select_as_key_press (
                                model, row, cursor_col, key->state);
                        return TRUE;
@@ -745,7 +748,9 @@ e_selection_model_key_press (ESelectionModel *model,
                        gint row = e_selection_model_row_count (model) - 1;
                        gint cursor_col = e_selection_model_cursor_col (model);
 
-                       row = e_sorter_sorted_to_model (model->sorter, row);
+                       if (model->sorter != NULL)
+                               row = e_sorter_sorted_to_model (
+                                       model->sorter, row);
                        e_selection_model_select_as_key_press (
                                model, row, cursor_col, key->state);
                        return TRUE;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]