mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
gpg,sm: Avoid useless ASFW diagnostic in loopback mode.
* common/sysutils.c (inhibit_set_foregound_window): New var. (gnupg_inhibit_set_foregound_window): New func. (gnupg_allow_set_foregound_window): Use var. * g10/gpg.c (main): Inhibit in loopback mode. * sm/gpgsm.c (main): Ditto. -- Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
2b843be5ac
commit
14aa797bb8
@ -87,6 +87,11 @@
|
||||
* an explanation of these file names. */
|
||||
static int allow_special_filenames;
|
||||
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
/* State of gnupg_inhibit_set_foregound_window. */
|
||||
static int inhibit_set_foregound_window;
|
||||
#endif
|
||||
|
||||
|
||||
static GPGRT_INLINE gpg_error_t
|
||||
my_error_from_syserror (void)
|
||||
@ -612,6 +617,20 @@ gnupg_reopen_std (const char *pgmname)
|
||||
}
|
||||
|
||||
|
||||
/* Inhibit calls to AllowSetForegroundWindow on Windows. Calling this
|
||||
* with YES set to true calls to gnupg_allow_set_foregound_window are
|
||||
* shunted. */
|
||||
void
|
||||
gnupg_inhibit_set_foregound_window (int yes)
|
||||
{
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
inhibit_set_foregound_window = yes;
|
||||
#else
|
||||
(void)yes;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/* Hack required for Windows. */
|
||||
void
|
||||
gnupg_allow_set_foregound_window (pid_t pid)
|
||||
@ -620,6 +639,8 @@ gnupg_allow_set_foregound_window (pid_t pid)
|
||||
log_info ("%s called with invalid pid %lu\n",
|
||||
"gnupg_allow_set_foregound_window", (unsigned long)pid);
|
||||
#if defined(HAVE_W32_SYSTEM) && !defined(HAVE_W32CE_SYSTEM)
|
||||
else if (inhibit_set_foregound_window)
|
||||
;
|
||||
else if (!AllowSetForegroundWindow ((pid_t)pid == (pid_t)(-1)?ASFW_ANY:pid))
|
||||
log_info ("AllowSetForegroundWindow(%lu) failed: %s\n",
|
||||
(unsigned long)pid, w32_strerror (-1));
|
||||
|
@ -61,6 +61,7 @@ int translate_sys2libc_fd_int (int fd, int for_write);
|
||||
int check_special_filename (const char *fname, int for_write, int notranslate);
|
||||
FILE *gnupg_tmpfile (void);
|
||||
void gnupg_reopen_std (const char *pgmname);
|
||||
void gnupg_inhibit_set_foregound_window (int yes);
|
||||
void gnupg_allow_set_foregound_window (pid_t pid);
|
||||
int gnupg_remove (const char *fname);
|
||||
gpg_error_t gnupg_rename_file (const char *oldname, const char *newname,
|
||||
|
@ -4167,6 +4167,15 @@ main (int argc, char **argv)
|
||||
opt.passphrase_repeat = 0;
|
||||
}
|
||||
|
||||
/* If no pinentry is expected shunt
|
||||
* gnupg_allow_set_foregound_window to avoid useless error
|
||||
* messages on Windows. */
|
||||
if (opt.pinentry_mode != PINENTRY_MODE_ASK)
|
||||
{
|
||||
gnupg_inhibit_set_foregound_window (1);
|
||||
}
|
||||
|
||||
|
||||
if (cmd == aGPGConfTest)
|
||||
g10_exit(0);
|
||||
|
||||
|
@ -1737,6 +1737,14 @@ main ( int argc, char **argv)
|
||||
if (!cmd && opt.fingerprint && !with_fpr)
|
||||
set_cmd (&cmd, aListKeys);
|
||||
|
||||
/* If no pinentry is expected shunt
|
||||
* gnupg_allow_set_foregound_window to avoid useless error
|
||||
* messages on Windows. */
|
||||
if (opt.pinentry_mode != PINENTRY_MODE_ASK)
|
||||
{
|
||||
gnupg_inhibit_set_foregound_window (1);
|
||||
}
|
||||
|
||||
/* Add default keybox. */
|
||||
if (!nrings && default_keyring)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user