[Bf-blender-cvs] [42f3e30ffe0] soc-2020-info-editor: Keymap: box select empty area should deselect all reports
Mateusz GrzeliÅski
noreply at git.blender.org
Fri Jun 5 15:03:19 CEST 2020
Commit: 42f3e30ffe04311256f785a38f363c3e8590b843
Author: Mateusz Grzeliński
Date: Fri Jun 5 13:28:37 2020 +0200
Branches: soc-2020-info-editor
https://developer.blender.org/rB42f3e30ffe04311256f785a38f363c3e8590b843
Keymap: box select empty area should deselect all reports
===================================================================
M source/blender/editors/space_info/info_report.c
===================================================================
diff --git a/source/blender/editors/space_info/info_report.c b/source/blender/editors/space_info/info_report.c
index adc6391a0f6..13bb51e8fba 100644
--- a/source/blender/editors/space_info/info_report.c
+++ b/source/blender/editors/space_info/info_report.c
@@ -261,36 +261,41 @@ static int box_select_exec(bContext *C, wmOperator *op)
report_min = info_text_pick(sinfo, region, reports, rect.ymax);
report_max = info_text_pick(sinfo, region, reports, rect.ymin);
- /* get the first report if none found */
- if (report_min == NULL) {
- // printf("find_min\n");
- LISTBASE_FOREACH (Report *, report, &reports->list) {
- if (report->type & report_mask) {
- report_min = report;
- break;
+ if (report_min == NULL && report_max == NULL) {
+ reports_select_all(reports, report_mask, SEL_DESELECT);
+ }
+ else {
+ /* get the first report if none found */
+ if (report_min == NULL) {
+ // printf("find_min\n");
+ LISTBASE_FOREACH (Report *, report, &reports->list) {
+ if (report->type & report_mask) {
+ report_min = report;
+ break;
+ }
}
}
- }
- if (report_max == NULL) {
- // printf("find_max\n");
- for (Report *report = reports->list.last; report; report = report->prev) {
- if (report->type & report_mask) {
- report_max = report;
- break;
+ if (report_max == NULL) {
+ // printf("find_max\n");
+ for (Report *report = reports->list.last; report; report = report->prev) {
+ if (report->type & report_mask) {
+ report_max = report;
+ break;
+ }
}
}
- }
- if (report_min == NULL || report_max == NULL) {
- return OPERATOR_CANCELLED;
- }
+ if (report_min == NULL || report_max == NULL) {
+ return OPERATOR_CANCELLED;
+ }
- for (Report *report = report_min; (report != report_max->next); report = report->next) {
- if ((report->type & report_mask) == 0) {
- continue;
+ for (Report *report = report_min; (report != report_max->next); report = report->next) {
+ if ((report->type & report_mask) == 0) {
+ continue;
+ }
+ SET_FLAG_FROM_TEST(report->flag, select, SELECT);
}
- SET_FLAG_FROM_TEST(report->flag, select, SELECT);
}
ED_area_tag_redraw(CTX_wm_area(C));
More information about the Bf-blender-cvs
mailing list