From be79e521357fe0e0e42f6ed209ccc440554baea2 Mon Sep 17 00:00:00 2001 From: hecomi Date: Wed, 16 Nov 2016 02:24:49 +0900 Subject: [PATCH] fix cursor buffer bug. --- .../Plugins/x86_64/uDesktopDuplication.dll | Bin 69632 -> 69632 bytes .../uDesktopDuplication/Cursor.cpp | 12 +++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Assets/uDesktopDuplication/Plugins/x86_64/uDesktopDuplication.dll b/Assets/uDesktopDuplication/Plugins/x86_64/uDesktopDuplication.dll index 13697c4cbb6781191c5dfb7d89cfe9531d8efc97..dd3384612350eb18e017354724a75d470c69f358 100644 GIT binary patch delta 8532 zcmaJ`3s_WT`aj<=gMbV(s3?fWr6KSd2D&7gjLzgi2gQ_?yd*{`mMJQj7i=&f8Be3= zN2aNzWr}XC)Unnsn}e8u;U%rqysWid25(Dln!48c|K4*BUY>pSf1c<2-s|_?zT25I zrJIbUn~b$q7PrUID_78;Rv|vNy&+5xUI$~o#?0gW*w1XG9A)?q>pZJk5c~n{1wr(h zd#?v5+n3ZboA)$!ec%xi-QW3M(U3|(Xl`zXb_=vyk}LT$#<^@4KVyta3(+f{;)B{hiB!3$ab zt^7i}Q7n@W3|eT2D&-#pHM5EGi@`Gt>^pw3eFBIMp@EEzlcUTA#@>^=g?%5uX30u; z7-Li9u#O)ZEJ5=GL8=#}tl?rxv;Q^uSj4RW%kQ&v=AVeUQa&4X%Vg-fNIo4?#MsMx zOx$L6p8q@UQT7%e7(bGYmtTsHGO!$ZldXsu&duYSZHavF12+t=IY6W3v55+cSTqGW ze^`IPP|M)0l?=C=!l(E6oMp&;dfs4ctDM;TQ^q{}hdyK3<2<@mp z?^foP=Reqo#a5H?EA8;JbY%3r5< zGC=42;F;m`N1zg@w#$~MMm$2E{>W;^j`5pAW?H9-_XvOE^E1}5zspwpCq@Gs#>4F~ z@+ons=$TJp@#c*W(Y!+ zD2xiec@ltN4o0SA=#3(h#A@ql%-K-)*7&lQr2~fv!3r5 zeT_BCo3r0E7<%-Vonx)c&?S|RANLir%e`~V%#iYsoc`w!W=QNO4<8@O3{lB)PHq@8 z1V1Q0{W#Xg4Y_DSIAcG{FHN*Cc3fUF$;#M%dD~>j{w9C;1en|8{ZqhPBOlM}z*w1l zekz#rrlBq{Q>4#&Y-MZhTKcFq_Cb z6nx0G@TP(Sww^yUV}T()hQBl8Rkn^ho|((OmH+n4SHaBAUoLu>ZR7ikMs+FaC zMUTUlUd2TwLnz~$7db-rqiE95-W5Je`6v9BMI8-k!8~wrT(=Lx zsa`HyGF8~*-wM(t4U5dG@Diw$31 zmh2fQN1jvqUHZl|&NfauYq#t?<27!ic+>645%V)W_GIaZ=yll&{QKJ>Ywz$R9*W3@ zSt(txwLDWnIxHW;ne>e)jZOmBQr-ulxTN7!CQErN2xoay@k7q?YsGykPFYrjk+@f# zbZpwRX_lCB@+sIQV~~f5-b|xdcAgctwzL?@PdkT{9qN#Btqy5;s9o}T+zwlzLmF+h zOHH1v8fVHiho{K4z%HF}ru^Wn@GXo;@gcLq;od<>PU)(%*Ke9UpuwKLwRfSnmYne9oNjQQ zb29|n;QT=YejG7^*xSPcahhQMm>1eS@h-kh3D>9A6j0Y_CLU-&|lwVfzsC#gdu=JGmy{LL5Q-L*

798n6S-jVP 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

;|N#9*{z~q|*ad@}8%9W>KLs zc4?}O`tYZ?MpppRQ>W83JQ%Os#&|)Pg>ghre^n5!q8-H8t9nP3#p?ti=ruw3 zk^ge4%iuQdo8b7+Zt1>)aTaz>wFq73c0Sjsuw!1EUIM~bno+n&P(P?&){%4lg7&Vj5F)$ng~2QA1Xyw2O#;(@G{zU z;H`k|H^9kxd_xD!L!+PxZbTCiTn*r9Gzyg9yBh@|8~U|?aj&}tAr}PAY(5$(l>^r6 z_;tX6Z(ydt9|SlFt?--%OLUyz;LVr~*ck`7?oH?b-vB7Sg;@Yj@L4oUrV8*cI=;&d zCkBKc0f9*2`Bh39j9}T&OGAN z-un@4ON$0+ZxNp$?H|GkjzSa9g9e<7Mv0aFMTil8*9qYr{NaK|f~NpisyJRdA7fiX HSm6Hw!Pm%F delta 8472 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 diff --git a/Plugins/uDesktopDuplication/uDesktopDuplication/Cursor.cpp b/Plugins/uDesktopDuplication/uDesktopDuplication/Cursor.cpp index b418e14..1249fcb 100644 --- a/Plugins/uDesktopDuplication/uDesktopDuplication/Cursor.cpp +++ b/Plugins/uDesktopDuplication/uDesktopDuplication/Cursor.cpp @@ -73,6 +73,7 @@ void Cursor::UpdateBuffer(const DXGI_OUTDUPL_FRAME_INFO& frameInfo) Debug::Error("Cursor::UpdateBuffer() => GetFramePointerShape() failed."); apiBuffer_.reset(); apiBufferSize_ = 0; + return; } shapeInfo_ = shapeInfo; @@ -104,7 +105,16 @@ void Cursor::UpdateTexture() bgra32BufferSize_ = bgraBufferSize; bgra32Buffer_ = std::make_unique(bgra32BufferSize_); } - if (!bgra32Buffer_) return; + + if (!bgra32Buffer_) + { + return; + } + + if (!apiBuffer_) + { + return; + } // If masked, copy the desktop image and merge it with masked image. if (isMono || isColorMask)