Fixes - post 2.65a

- Trackpad swipes now behave same as scrollwheel for listview scrolls
  (disabling 2d view scroll when mouse over)

- Added back 2.4 debug print for glGetError()
  Only useful for developers - to check what goes on when ogl messes up.

- Made more clear print for read factory default. It's not error :)
This commit is contained in:
Ton Roosendaal
2013-01-04 14:51:02 +00:00
parent 821d481f53
commit 4fa340c716
3 changed files with 73 additions and 56 deletions

View File

@@ -6131,70 +6131,79 @@ static int ui_handle_list_event(bContext *C, wmEvent *event, ARegion *ar)
int value, min, max;
int type = event->type, val = event->val;
/* convert pan to scrollwheel */
if (type == MOUSEPAN)
ui_pan_to_scroll(event, &type, &val);
if (but && (val == KM_PRESS)) {
if (but) {
uiList *ui_list = but->custom_data;
if (ui_list) {
if (ELEM(type, UPARROWKEY, DOWNARROWKEY) ||
((ELEM(type, WHEELUPMOUSE, WHEELDOWNMOUSE) && event->alt)))
{
/* activate up/down the list */
value = RNA_property_int_get(&but->rnapoin, but->rnaprop);
if (ELEM(type, UPARROWKEY, WHEELUPMOUSE))
value--;
else
value++;
CLAMP(value, 0, ui_list->list_last_len - 1);
if (value < ui_list->list_scroll)
ui_list->list_scroll = value;
else if (value >= ui_list->list_scroll + ui_list->list_size)
ui_list->list_scroll = value - ui_list->list_size + 1;
RNA_property_int_range(&but->rnapoin, but->rnaprop, &min, &max);
value = CLAMPIS(value, min, max);
RNA_property_int_set(&but->rnapoin, but->rnaprop, value);
RNA_property_update(C, &but->rnapoin, but->rnaprop);
ED_region_tag_redraw(ar);
retval = WM_UI_HANDLER_BREAK;
/* convert pan to scrollwheel */
if (type == MOUSEPAN) {
ui_pan_to_scroll(event, &type, &val);
/* if type still is mousepan, we call it handled, since delta-y accumulate */
/* also see wm_event_system.c do_wheel_ui hack */
if (type == MOUSEPAN)
retval = WM_UI_HANDLER_BREAK;
}
else if (ELEM(type, WHEELUPMOUSE, WHEELDOWNMOUSE) && event->shift) {
/* silly replacement for proper grip */
if (ui_list->list_grip_size == 0)
ui_list->list_grip_size = ui_list->list_size;
if (val == KM_PRESS) {
if (ELEM(type, UPARROWKEY, DOWNARROWKEY) ||
((ELEM(type, WHEELUPMOUSE, WHEELDOWNMOUSE) && event->alt)))
{
/* activate up/down the list */
value = RNA_property_int_get(&but->rnapoin, but->rnaprop);
if (type == WHEELUPMOUSE)
ui_list->list_grip_size--;
else
ui_list->list_grip_size++;
ui_list->list_grip_size = MAX2(ui_list->list_grip_size, 1);
ED_region_tag_redraw(ar);
retval = WM_UI_HANDLER_BREAK;
}
else if (ELEM(type, WHEELUPMOUSE, WHEELDOWNMOUSE)) {
if (ui_list->list_last_len > ui_list->list_size) {
/* list template will clamp */
if (type == WHEELUPMOUSE)
ui_list->list_scroll--;
if (ELEM(type, UPARROWKEY, WHEELUPMOUSE))
value--;
else
ui_list->list_scroll++;
value++;
CLAMP(value, 0, ui_list->list_last_len - 1);
if (value < ui_list->list_scroll)
ui_list->list_scroll = value;
else if (value >= ui_list->list_scroll + ui_list->list_size)
ui_list->list_scroll = value - ui_list->list_size + 1;
RNA_property_int_range(&but->rnapoin, but->rnaprop, &min, &max);
value = CLAMPIS(value, min, max);
RNA_property_int_set(&but->rnapoin, but->rnaprop, value);
RNA_property_update(C, &but->rnapoin, but->rnaprop);
ED_region_tag_redraw(ar);
retval = WM_UI_HANDLER_BREAK;
}
else if (ELEM(type, WHEELUPMOUSE, WHEELDOWNMOUSE) && event->shift) {
/* silly replacement for proper grip */
if (ui_list->list_grip_size == 0)
ui_list->list_grip_size = ui_list->list_size;
if (type == WHEELUPMOUSE)
ui_list->list_grip_size--;
else
ui_list->list_grip_size++;
ui_list->list_grip_size = MAX2(ui_list->list_grip_size, 1);
ED_region_tag_redraw(ar);
retval = WM_UI_HANDLER_BREAK;
}
else if (ELEM(type, WHEELUPMOUSE, WHEELDOWNMOUSE)) {
if (ui_list->list_last_len > ui_list->list_size) {
/* list template will clamp */
if (type == WHEELUPMOUSE)
ui_list->list_scroll--;
else
ui_list->list_scroll++;
ED_region_tag_redraw(ar);
retval = WM_UI_HANDLER_BREAK;
}
}
}
}
}

View File

@@ -66,6 +66,8 @@
#include "RNA_access.h"
#include "BIF_gl.h"
#include "UI_interface.h"
#include "PIL_time.h"
@@ -338,7 +340,7 @@ static int wm_handler_ui_call(bContext *C, wmEventHandler *handler, wmEvent *eve
ARegion *region = CTX_wm_region(C);
ARegion *menu = CTX_wm_menu(C);
static int do_wheel_ui = TRUE;
int is_wheel = ELEM(event->type, WHEELUPMOUSE, WHEELDOWNMOUSE);
int is_wheel = ELEM3(event->type, WHEELUPMOUSE, WHEELDOWNMOUSE, MOUSEPAN);
int retval;
/* UI code doesn't handle return values - it just always returns break.
@@ -2180,6 +2182,12 @@ void wm_event_do_handlers(bContext *C)
/* update key configuration after handling events */
WM_keyconfig_update(wm);
if(G.debug) {
GLenum error = glGetError();
if (error)
printf("GL error: %s\n", gluErrorString(error));
}
}
/* ********** filesector handling ************ */

View File

@@ -531,7 +531,7 @@ int wm_homefile_read(bContext *C, ReportList *UNUSED(reports), short from_memory
}
if (U.themes.first == NULL) {
printf("\nError: No valid "STRINGIFY (BLENDER_STARTUP_FILE)", fall back to built-in default.\n\n");
printf("\nNote: No (valid) "STRINGIFY (BLENDER_STARTUP_FILE)" found, fall back to built-in default.\n\n");
success = 0;
}
@@ -549,7 +549,7 @@ int wm_homefile_read(bContext *C, ReportList *UNUSED(reports), short from_memory
/* check new prefs only after startup.blend was finished */
if (!from_memory && BLI_exists(prefstr)) {
int done = BKE_read_file_userdef(prefstr, NULL);
if (done) printf("read new prefs: %s\n", prefstr);
if (done) printf("Read new prefs: %s\n", prefstr);
}
/* prevent buggy files that had G_FILE_RELATIVE_REMAP written out by mistake. Screws up autosaves otherwise