mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-08 04:07:40 +02:00
[PreviewPane]Fix crash on 64 bit file handles (#32826)
* [PreviewPane] Parse input window handle as IntPtr type instead of Int32 * [PreviewPane] Apply IntPtr arg parser fix for the following handlers: GcodePreviewHandler MarkdownPreviewHandler PdfPreviewHandler QoiPreviewHandler SvgPreviewHandler
This commit is contained in:
@@ -27,7 +27,7 @@ namespace Microsoft.PowerToys.PreviewHandler.Gcode
|
|||||||
if (args.Length == 6)
|
if (args.Length == 6)
|
||||||
{
|
{
|
||||||
string filePath = args[0];
|
string filePath = args[0];
|
||||||
int hwnd = Convert.ToInt32(args[1], 16);
|
IntPtr hwnd = IntPtr.Parse(args[1], NumberStyles.HexNumber, CultureInfo.InvariantCulture);
|
||||||
|
|
||||||
int left = Convert.ToInt32(args[2], 10);
|
int left = Convert.ToInt32(args[2], 10);
|
||||||
int right = Convert.ToInt32(args[3], 10);
|
int right = Convert.ToInt32(args[3], 10);
|
||||||
@@ -36,7 +36,7 @@ namespace Microsoft.PowerToys.PreviewHandler.Gcode
|
|||||||
Rectangle s = new Rectangle(left, top, right - left, bottom - top);
|
Rectangle s = new Rectangle(left, top, right - left, bottom - top);
|
||||||
|
|
||||||
_previewHandlerControl = new GcodePreviewHandlerControl();
|
_previewHandlerControl = new GcodePreviewHandlerControl();
|
||||||
_previewHandlerControl.SetWindow((IntPtr)hwnd, s);
|
_previewHandlerControl.SetWindow(hwnd, s);
|
||||||
_previewHandlerControl.DoPreview(filePath);
|
_previewHandlerControl.DoPreview(filePath);
|
||||||
|
|
||||||
NativeEventWaiter.WaitForEventLoop(
|
NativeEventWaiter.WaitForEventLoop(
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ namespace Microsoft.PowerToys.PreviewHandler.Markdown
|
|||||||
if (args.Length == 6)
|
if (args.Length == 6)
|
||||||
{
|
{
|
||||||
string filePath = args[0];
|
string filePath = args[0];
|
||||||
int hwnd = Convert.ToInt32(args[1], 16);
|
IntPtr hwnd = IntPtr.Parse(args[1], NumberStyles.HexNumber, CultureInfo.InvariantCulture);
|
||||||
|
|
||||||
int left = Convert.ToInt32(args[2], 10);
|
int left = Convert.ToInt32(args[2], 10);
|
||||||
int right = Convert.ToInt32(args[3], 10);
|
int right = Convert.ToInt32(args[3], 10);
|
||||||
@@ -36,7 +36,7 @@ namespace Microsoft.PowerToys.PreviewHandler.Markdown
|
|||||||
Rectangle s = new Rectangle(left, top, right - left, bottom - top);
|
Rectangle s = new Rectangle(left, top, right - left, bottom - top);
|
||||||
|
|
||||||
_previewHandlerControl = new MarkdownPreviewHandlerControl();
|
_previewHandlerControl = new MarkdownPreviewHandlerControl();
|
||||||
_previewHandlerControl.SetWindow((IntPtr)hwnd, s);
|
_previewHandlerControl.SetWindow(hwnd, s);
|
||||||
_previewHandlerControl.DoPreview(filePath);
|
_previewHandlerControl.DoPreview(filePath);
|
||||||
|
|
||||||
NativeEventWaiter.WaitForEventLoop(
|
NativeEventWaiter.WaitForEventLoop(
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ namespace Microsoft.PowerToys.PreviewHandler.Monaco
|
|||||||
if (args.Length == 6)
|
if (args.Length == 6)
|
||||||
{
|
{
|
||||||
string filePath = args[0];
|
string filePath = args[0];
|
||||||
int hwnd = Convert.ToInt32(args[1], 16);
|
IntPtr hwnd = IntPtr.Parse(args[1], NumberStyles.HexNumber, CultureInfo.InvariantCulture);
|
||||||
|
|
||||||
int left = Convert.ToInt32(args[2], 10);
|
int left = Convert.ToInt32(args[2], 10);
|
||||||
int right = Convert.ToInt32(args[3], 10);
|
int right = Convert.ToInt32(args[3], 10);
|
||||||
@@ -39,7 +39,7 @@ namespace Microsoft.PowerToys.PreviewHandler.Monaco
|
|||||||
Rectangle s = new Rectangle(left, top, right - left, bottom - top);
|
Rectangle s = new Rectangle(left, top, right - left, bottom - top);
|
||||||
|
|
||||||
_previewHandlerControl = new MonacoPreviewHandlerControl();
|
_previewHandlerControl = new MonacoPreviewHandlerControl();
|
||||||
_previewHandlerControl.SetWindow((IntPtr)hwnd, s);
|
_previewHandlerControl.SetWindow(hwnd, s);
|
||||||
_previewHandlerControl.DoPreview(filePath);
|
_previewHandlerControl.DoPreview(filePath);
|
||||||
|
|
||||||
NativeEventWaiter.WaitForEventLoop(
|
NativeEventWaiter.WaitForEventLoop(
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ namespace Microsoft.PowerToys.PreviewHandler.Pdf
|
|||||||
if (args.Length == 6)
|
if (args.Length == 6)
|
||||||
{
|
{
|
||||||
string filePath = args[0];
|
string filePath = args[0];
|
||||||
int hwnd = Convert.ToInt32(args[1], 16);
|
IntPtr hwnd = IntPtr.Parse(args[1], NumberStyles.HexNumber, CultureInfo.InvariantCulture);
|
||||||
|
|
||||||
int left = Convert.ToInt32(args[2], 10);
|
int left = Convert.ToInt32(args[2], 10);
|
||||||
int right = Convert.ToInt32(args[3], 10);
|
int right = Convert.ToInt32(args[3], 10);
|
||||||
@@ -35,7 +35,7 @@ namespace Microsoft.PowerToys.PreviewHandler.Pdf
|
|||||||
Rectangle s = new Rectangle(left, top, right - left, bottom - top);
|
Rectangle s = new Rectangle(left, top, right - left, bottom - top);
|
||||||
|
|
||||||
_previewHandlerControl = new PdfPreviewHandlerControl();
|
_previewHandlerControl = new PdfPreviewHandlerControl();
|
||||||
_previewHandlerControl.SetWindow((IntPtr)hwnd, s);
|
_previewHandlerControl.SetWindow(hwnd, s);
|
||||||
_previewHandlerControl.DoPreview(filePath);
|
_previewHandlerControl.DoPreview(filePath);
|
||||||
|
|
||||||
NativeEventWaiter.WaitForEventLoop(
|
NativeEventWaiter.WaitForEventLoop(
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ namespace Microsoft.PowerToys.PreviewHandler.Qoi
|
|||||||
if (args.Length == 6)
|
if (args.Length == 6)
|
||||||
{
|
{
|
||||||
string filePath = args[0];
|
string filePath = args[0];
|
||||||
int hwnd = Convert.ToInt32(args[1], 16);
|
IntPtr hwnd = IntPtr.Parse(args[1], NumberStyles.HexNumber, CultureInfo.InvariantCulture);
|
||||||
|
|
||||||
int left = Convert.ToInt32(args[2], 10);
|
int left = Convert.ToInt32(args[2], 10);
|
||||||
int right = Convert.ToInt32(args[3], 10);
|
int right = Convert.ToInt32(args[3], 10);
|
||||||
@@ -36,7 +36,7 @@ namespace Microsoft.PowerToys.PreviewHandler.Qoi
|
|||||||
Rectangle s = new Rectangle(left, top, right - left, bottom - top);
|
Rectangle s = new Rectangle(left, top, right - left, bottom - top);
|
||||||
|
|
||||||
_previewHandlerControl = new QoiPreviewHandlerControl();
|
_previewHandlerControl = new QoiPreviewHandlerControl();
|
||||||
_previewHandlerControl.SetWindow((IntPtr)hwnd, s);
|
_previewHandlerControl.SetWindow(hwnd, s);
|
||||||
_previewHandlerControl.DoPreview(filePath);
|
_previewHandlerControl.DoPreview(filePath);
|
||||||
|
|
||||||
NativeEventWaiter.WaitForEventLoop(
|
NativeEventWaiter.WaitForEventLoop(
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ namespace Microsoft.PowerToys.PreviewHandler.Svg
|
|||||||
if (args.Length == 6)
|
if (args.Length == 6)
|
||||||
{
|
{
|
||||||
string filePath = args[0];
|
string filePath = args[0];
|
||||||
int hwnd = Convert.ToInt32(args[1], 16);
|
IntPtr hwnd = IntPtr.Parse(args[1], NumberStyles.HexNumber, CultureInfo.InvariantCulture);
|
||||||
|
|
||||||
int left = Convert.ToInt32(args[2], 10);
|
int left = Convert.ToInt32(args[2], 10);
|
||||||
int right = Convert.ToInt32(args[3], 10);
|
int right = Convert.ToInt32(args[3], 10);
|
||||||
@@ -36,7 +36,7 @@ namespace Microsoft.PowerToys.PreviewHandler.Svg
|
|||||||
Rectangle s = new Rectangle(left, top, right - left, bottom - top);
|
Rectangle s = new Rectangle(left, top, right - left, bottom - top);
|
||||||
|
|
||||||
_previewHandlerControl = new SvgPreviewControl();
|
_previewHandlerControl = new SvgPreviewControl();
|
||||||
_previewHandlerControl.SetWindow((IntPtr)hwnd, s);
|
_previewHandlerControl.SetWindow(hwnd, s);
|
||||||
_previewHandlerControl.DoPreview(filePath);
|
_previewHandlerControl.DoPreview(filePath);
|
||||||
|
|
||||||
NativeEventWaiter.WaitForEventLoop(
|
NativeEventWaiter.WaitForEventLoop(
|
||||||
|
|||||||
Reference in New Issue
Block a user