mirror of
https://github.com/greenshot/greenshot
synced 2025-08-20 21:43:24 -07:00
BUG-1809: Found some additional information which explains why the previous fix for BUG-1809 was not working.
This commit is contained in:
parent
e03df48a26
commit
342a506480
4 changed files with 46 additions and 9 deletions
|
@ -510,14 +510,20 @@ namespace Greenshot {
|
||||||
get {return contextMenu;}
|
get {return contextMenu;}
|
||||||
}
|
}
|
||||||
|
|
||||||
#region hotkeys
|
|
||||||
protected override void WndProc(ref Message m) {
|
protected override void WndProc(ref Message m) {
|
||||||
if (HotkeyControl.HandleMessages(ref m)) {
|
if (HotkeyControl.HandleMessages(ref m)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
// BUG-1809 prevention, filter the InputLangChange messages
|
||||||
|
if (WmInputLangChangeRequestFilter.PreFilterMessageExternal(ref m))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
base.WndProc(ref m);
|
base.WndProc(ref m);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region hotkeys
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Helper method to cleanly register a hotkey
|
/// Helper method to cleanly register a hotkey
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -1225,14 +1231,27 @@ namespace Greenshot {
|
||||||
private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) {
|
private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) {
|
||||||
Exception exceptionToLog = e.ExceptionObject as Exception;
|
Exception exceptionToLog = e.ExceptionObject as Exception;
|
||||||
string exceptionText = EnvironmentInfo.BuildReport(exceptionToLog);
|
string exceptionText = EnvironmentInfo.BuildReport(exceptionToLog);
|
||||||
LOG.Error(EnvironmentInfo.ExceptionToString(exceptionToLog));
|
LOG.Error("Exception caught in the UnhandledException handler.");
|
||||||
|
LOG.Error(exceptionText);
|
||||||
|
if (exceptionText != null && exceptionText.Contains("InputLanguageChangedEventArgs"))
|
||||||
|
{
|
||||||
|
// Ignore for BUG-1809
|
||||||
|
return;
|
||||||
|
}
|
||||||
new BugReportForm(exceptionText).ShowDialog();
|
new BugReportForm(exceptionText).ShowDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void Application_ThreadException(object sender, ThreadExceptionEventArgs e) {
|
private static void Application_ThreadException(object sender, ThreadExceptionEventArgs e) {
|
||||||
Exception exceptionToLog = e.Exception;
|
Exception exceptionToLog = e.Exception;
|
||||||
string exceptionText = EnvironmentInfo.BuildReport(exceptionToLog);
|
string exceptionText = EnvironmentInfo.BuildReport(exceptionToLog);
|
||||||
LOG.Error(EnvironmentInfo.ExceptionToString(exceptionToLog));
|
LOG.Error("Exception caught in the ThreadException handler.");
|
||||||
|
LOG.Error(exceptionText);
|
||||||
|
if (exceptionText != null && exceptionText.Contains("InputLanguageChangedEventArgs"))
|
||||||
|
{
|
||||||
|
// Ignore for BUG-1809
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
new BugReportForm(exceptionText).ShowDialog();
|
new BugReportForm(exceptionText).ShowDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@ Bugs Resolved:
|
||||||
* BUG-1809: OverflowException when changing the windows input language
|
* BUG-1809: OverflowException when changing the windows input language
|
||||||
* BUG-1835: Imgur: uploads were cancelled due to a timeout which was set too small
|
* BUG-1835: Imgur: uploads were cancelled due to a timeout which was set too small
|
||||||
* BUG-1833: Imgur: API-Key issues when using anonymous uploads
|
* BUG-1833: Imgur: API-Key issues when using anonymous uploads
|
||||||
|
* Github Pull 1: Fixed error calling external command. Thanks to viper3400
|
||||||
|
|
||||||
|
|
||||||
1.2.6.7-359dcf3 RELEASE
|
1.2.6.7-359dcf3 RELEASE
|
||||||
|
|
|
@ -28,19 +28,36 @@ namespace GreenshotPlugin.Core
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This IMessageFilter filters out all WM_INPUTLANGCHANGEREQUEST messages which go to a handle which is >32 bits.
|
/// This IMessageFilter filters out all WM_INPUTLANGCHANGEREQUEST messages which go to a handle which is >32 bits.
|
||||||
/// The need for this is documented here: http://stackoverflow.com/a/32021586
|
/// The need for this is documented here: http://stackoverflow.com/a/32021586
|
||||||
/// Unfortunately there is an error in the code example, should use HWnd instead of LParam for the handle.
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class WmInputLangChangeRequestFilter : IMessageFilter
|
public class WmInputLangChangeRequestFilter : IMessageFilter
|
||||||
{
|
{
|
||||||
private static readonly ILog LOG = LogManager.GetLogger(typeof(WmInputLangChangeRequestFilter));
|
private static readonly ILog LOG = LogManager.GetLogger(typeof(WmInputLangChangeRequestFilter));
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// This will do some filtering
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="m">Message</param>
|
||||||
|
/// <returns>true if the message should be filtered</returns>
|
||||||
public bool PreFilterMessage(ref Message m)
|
public bool PreFilterMessage(ref Message m)
|
||||||
|
{
|
||||||
|
return PreFilterMessageExternal(ref m);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Also used in the MainForm WndProc
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="m">Message</param>
|
||||||
|
/// <returns>true if the message should be filtered</returns>
|
||||||
|
public static bool PreFilterMessageExternal(ref Message m)
|
||||||
{
|
{
|
||||||
WindowsMessages message = (WindowsMessages)m.Msg;
|
WindowsMessages message = (WindowsMessages)m.Msg;
|
||||||
if (message == WindowsMessages.WM_INPUTLANGCHANGEREQUEST || message == WindowsMessages.WM_INPUTLANGCHANGE)
|
if (message == WindowsMessages.WM_INPUTLANGCHANGEREQUEST || message == WindowsMessages.WM_INPUTLANGCHANGE)
|
||||||
{
|
{
|
||||||
LOG.WarnFormat("Filtering: {0}, {1:X} - {2:X} - {3:X}", message, m.LParam.ToInt64(), m.WParam.ToInt64(), m.HWnd.ToInt64());
|
LOG.WarnFormat("Filtering: {0}, {1:X} - {2:X} - {3:X}", message, m.LParam.ToInt64(), m.WParam.ToInt64(), m.HWnd.ToInt64());
|
||||||
return (m.LParam.ToInt64() | 0xFFFFFFFF) != 0;
|
// For now we always return true
|
||||||
|
return true;
|
||||||
|
// But it could look something like this:
|
||||||
|
//return (m.LParam.ToInt64() | 0x7FFFFFFF) != 0;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
version: 1.2.6.{build}
|
version: 1.2.7.{build}
|
||||||
branches:
|
branches:
|
||||||
only:
|
only:
|
||||||
- 1.2
|
- 1.2
|
||||||
|
@ -37,7 +37,7 @@ environment:
|
||||||
secure: bjKXhFZkDqaq98XBrz5oQKQfT8CLpuv2ZAiBIwkzloaAPUs97b5yx6h/xFaE4NLS
|
secure: bjKXhFZkDqaq98XBrz5oQKQfT8CLpuv2ZAiBIwkzloaAPUs97b5yx6h/xFaE4NLS
|
||||||
credentials_picasa_consumer_secret:
|
credentials_picasa_consumer_secret:
|
||||||
secure: yNptTpmJWypbu9alOQtetxU66drr2FKxoPflNgRJdag=
|
secure: yNptTpmJWypbu9alOQtetxU66drr2FKxoPflNgRJdag=
|
||||||
build_type: UNSTABLE
|
build_type: RELEASE
|
||||||
rsakey:
|
rsakey:
|
||||||
secure: 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
|
secure: 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
|
||||||
before_build:
|
before_build:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue