Revision: 23399 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23399 Author: blendix Date: 2009-09-21 17:51:29 +0200 (Mon, 21 Sep 2009)
Log Message: ----------- Second attempt at fixing #19335: holding down backspace in the text editor creates squares on some systems. Based on info from Martin, it appears the keymodifier is being set when it shouldn't. I think this is happening become some systems may be generating KM_PRESS events without a matching KM_RELEASE? Also ignore ascii values 1-32 now instead of 14-32, not sure why they were included now in 2.5 because they were not in 2.4, but I don't see a reason to do it. This fixes squares when pressing e.g. ctrl+b or ctrl+n. Modified Paths: -------------- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c Modified: trunk/blender/source/blender/windowmanager/intern/wm_event_system.c =================================================================== --- trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 2009-09-21 15:47:41 UTC (rev 23398) +++ trunk/blender/source/blender/windowmanager/intern/wm_event_system.c 2009-09-21 15:51:29 UTC (rev 23399) @@ -1600,7 +1600,7 @@ event.val= (type==GHOST_kEventKeyDown)?KM_PRESS:KM_RELEASE; /* exclude arrow keys, esc, etc from text input */ - if(type==GHOST_kEventKeyUp || (event.ascii<32 && event.ascii>14)) + if(type==GHOST_kEventKeyUp || (event.ascii<32 && event.ascii>0)) event.ascii= '\0'; /* modifiers */ @@ -1630,6 +1630,13 @@ else if(event.val==KM_RELEASE && event.keymodifier==event.type) event.keymodifier= evt->keymodifier= 0; } + + /* this case happens on some systems that on holding a key pressed, + generate press events without release, we still want to keep the + modifier in win->eventstate, but for the press event of the same + key we don't want the key modifier */ + if(event.keymodifier == event.type) + event.keymodifier= 0; /* if test_break set, it catches this. XXX Keep global for now? */ if(event.type==ESCKEY) _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs