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:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 ************ */
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user