[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: r21711 shows confirmation dialogs underneath the window they originated

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Wed, 27 Jul 2011 20:08:29 +0200

On 27.07.2011 09:08, Dmitry wrote:
> Hey.
>
> I installed 64-bit r21711 onto Windows 2008 R2 Standard. I start
> 32-bit Visual Studio 2008, open a versioned file, edit and save that
> file. In Visual Studio I select File->Open->File, the dialog appears.
> In the dialog I navigate to the changed file, select it and do
> TSVN->Delete. A dialog asking whether I want to delete a file with
> local modification appears underneath the dialog window so that I
> can't see that confirmation dialog until I drag the "open file"
> dialog to the side.

That appears to be a bug in VS2008. Because TSVN shows all dialogs with
the window handle specified by the shell extension as its parent.
If you look at the docs:
http://msdn.microsoft.com/en-us/library/bb773217%28VS.85%29.aspx

hwnd:
"A handle to the window that is the owner of the shortcut menu. An
extension can also use this handle as the owner of any message boxes or
dialog boxes it displays. Callers must specify a legitimate HWND that
can be used as the owner window for any UI that may be displayed.
Failing to specify an HWND when calling from a UI thread (one with
windows already created) will result in reentrancy and possible bugs in
the implementation of a IContextMenu::InvokeCommand call."

That's the window handle TSVN uses as the parent window to show the
dialog, as mentioned in the docs. But VS2008 actually passes the main
window here, not the file-open window!

Nothing I can do to work around this, at least not without breaking apps
that pass the correct window handle.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2804694
To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2011-07-27 20:08:49 CEST

This is an archived mail posted to the TortoiseSVN Dev mailing list.