DwmGetColorizationColor() が大きめの値を返すと SetVisualStyle() で System.OverflowException

Issue #121 closed
MonthlySpecial created an issue

Windows 7 から 8.1 にアップグレードしたところ、表題 exception で、起動しなくなりました。

0:000> !clrstack -p
OS Thread Id: 0x1c9c (0)
Child SP       IP Call Site
00aef1fc 57090cd8 System.Convert.ToInt32(UInt32) [f:\dd\NDP\clr\src\BCL\System\Convert.cs @ 1061]
    PARAMETERS:
        value (<CLR reg>) = 0xad9a704d

00aef200 0addcf91 ContentTypeTextNet.Pe.PeMain.UI.SystemSkin.SetVisualStyle(System.Windows.Forms.Form)
...
0:000> g
...
(2364.1c9c): CLR exception - code e0434352 (!!! second chance !!!)
...
0:000> !pe
Exception object: 02af5288
Exception type:   System.OverflowException
Message:          Value was either too large or too small for an Int32.
InnerException:   <none>
StackTrace (generated):
    SP       IP       Function
    00AEF1F4 57B148C0 mscorlib_ni!System.Convert.ToInt32(UInt32)+0xa83be8
    00AEF200 0ADDCF91 image008d0000!ContentTypeTextNet.Pe.PeMain.UI.SystemSkin.SetVisualStyle(System.Windows.Forms.Form)+0x61
    00AEF244 0ADDCE68 image008d0000!ContentTypeTextNet.Pe.PeMain.UI.SystemSkin.Start(System.Windows.Forms.Form)+0x30
    00AEF258 0ADDCE22 image008d0000!ContentTypeTextNet.Pe.PeMain.UI.ToolbarForm.ApplySkin()+0x52
    00AEF268 0ADDC80C image008d0000!ContentTypeTextNet.Pe.PeMain.UI.ToolbarForm.ApplySetting()+0x3c
    00AEF2BC 0ADDC788 image008d0000!ContentTypeTextNet.Pe.PeMain.UI.ToolbarForm.SetCommonData(ContentTypeTextNet.Pe.PeMain.Data.CommonData)+0x38
    00AEF2C8 0ADDB601 image008d0000!ContentTypeTextNet.Pe.PeMain.UI.App.InitializeToolbarForm(ContentTypeTextNet.Pe.Library.Utility.CommandLine, StartupLogger)+0xd1
    00AEF2FC 0ADD38FC image008d0000!ContentTypeTextNet.Pe.PeMain.UI.App.InitializeUI(ContentTypeTextNet.Pe.Library.Utility.CommandLine, StartupLogger)+0x7c
    00AEF314 05031826 image008d0000!ContentTypeTextNet.Pe.PeMain.UI.App.Initialize(ContentTypeTextNet.Pe.Library.Utility.CommandLine, StartupLogger)+0x96
    00AEF330 05031725 image008d0000!ContentTypeTextNet.Pe.PeMain.UI.App..ctor(ContentTypeTextNet.Pe.Library.Utility.CommandLine, ContentTypeTextNet.Pe.PeMain.Logic.FileLogger)+0x85
    00AEF348 05031431 image008d0000!ContentTypeTextNet.Pe.PeMain.Startup.Main(System.String[])+0x389

  • Windows 8.1
  • Pe 0.35.0 x64/x86
  • .NET Framework 4.5.1

Comments (8)

  1. sk ☃#QQ repo owner

    aeroとvisual style混合しているあたりで変になってるかもです。

    win8.1の評価版をインストールしてみます。それで再現出来たら対応します。

  2. MonthlySpecial reporter

    再現されたということで不要な情報と思いますが、Windows 8.1 以外でもテーマの設定でウィンドウ色の濃度のスライダーを右寄りにしていると発生するかと思います。

  3. sk ☃#QQ repo owner

    31b395cf4005b2a317b9db0bacce8a7eddc21f65

    Win7(x64)でスライダー右側にしてみましたがこちらでは確認できませんでした、が、多分このコミットで解決してると思われます。

    この課題を含めたリリースはもうちょっと先になると思います。 すぐに必要であれば開発中のリリース版をCIよりダウンロードしてください(#121 resolved -> x86/x64 -> Artifacts -> OUTPUT.zip)。 https://ci.appveyor.com/project/sk_0520/pe/history

    クリップボード04.png

  4. sk ☃#QQ repo owner

    課題のclose権限を有するのは報告者ですが古い課題でまだ閉じられておらず、 追記も無いようですのでこちらでcloseさせていただきます。

  5. Log in to comment