summaryrefslogtreecommitdiff
path: root/gdb/gdbtk
diff options
context:
space:
mode:
authorMartin Hunt <hunt@redhat.com>2001-04-09 17:35:31 +0000
committerMartin Hunt <hunt@redhat.com>2001-04-09 17:35:31 +0000
commit9ac6258e7f5f35f8eb1e1dbf577692a90b37abbf (patch)
treeeddf71aa7a5eb5127fb23fbd198a67e09cc774b0 /gdb/gdbtk
parent7b252bef7a4a2712dcecd0dc24f72b6b93640966 (diff)
downloadgdb-9ac6258e7f5f35f8eb1e1dbf577692a90b37abbf.tar.gz
2001-04-09 Martin M. Hunt <hunt@redhat.com>
* library/managedwin.itb (ManagedWin::reveal): After deiconifying window for the first time, set its geometry again, if the platform is unix. This fixes a problem with kde. (ManagedWin::_create): Set a variable with the initial geometry.
Diffstat (limited to 'gdb/gdbtk')
-rw-r--r--gdb/gdbtk/ChangeLog8
-rw-r--r--gdb/gdbtk/library/managedwin.itb16
2 files changed, 21 insertions, 3 deletions
diff --git a/gdb/gdbtk/ChangeLog b/gdb/gdbtk/ChangeLog
index 499d0f84bf9..d8d78b13c78 100644
--- a/gdb/gdbtk/ChangeLog
+++ b/gdb/gdbtk/ChangeLog
@@ -1,3 +1,11 @@
+2001-04-09 Martin M. Hunt <hunt@redhat.com>
+
+ * library/managedwin.itb (ManagedWin::reveal): After
+ deiconifying window for the first time, set its geometry
+ again, if the platform is unix. This fixes a problem with kde.
+ (ManagedWin::_create): Set a variable with the initial
+ geometry.
+
2001-04-04 Christopher Faylor <cgf@redhat.com>
* generic/gdbtk.c: Add __CYGWIN__ conditional to WIN32 test.
diff --git a/gdb/gdbtk/library/managedwin.itb b/gdb/gdbtk/library/managedwin.itb
index a3b45d7d9bd..b611e69c6c3 100644
--- a/gdb/gdbtk/library/managedwin.itb
+++ b/gdb/gdbtk/library/managedwin.itb
@@ -1,4 +1,4 @@
-# Managed window for GDBtk.
+# Managed window for Insight.
# Copyright 1998, 1999, 2000, 2001 Red Hat, Inc.
#
# This program is free software; you can redistribute it and/or modify it
@@ -67,8 +67,18 @@ body ManagedWin::reveal {} {
update idletasks
set top [winfo toplevel [namespace tail $this]]
+ set g [wm geometry $top]
+ #debug "$top geometry=$g state=[wm state $top]"
raise $top
wm deiconify $top
+ if {[info exists ::$top._init_geometry]} {
+ upvar ::$top._init_geometry gm
+ if {$::tcl_platform(platform) == "unix"} {
+ wm geometry $top $gm
+ }
+ unset ::$top._init_geometry
+ }
+ #debug "$top geometry=[wm geometry $top] state=[wm state $top]"
# There used to be a `focus -force' here, but using -force is
# unfriendly, so it was removed. It was then replaced with a simple
@@ -292,8 +302,9 @@ body ManagedWin::_create { class args } {
set g "${w}x${h}+${x}+${y}"
}
if {[expr $x+50] < $_screenwidth && [expr $y+20] < $_screenheight} {
- wm geometry $top $g
wm positionfrom $top user
+ wm geometry $top $g
+ set ::$top._init_geometry $g
}
}
}
@@ -322,7 +333,6 @@ body ManagedWin::find { win } {
# PUBLIC PROC: init
# ------------------------------------------------------------
body ManagedWin::init {} {
- debug
wm withdraw .
set _screenheight [winfo screenheight .]
set _screenwidth [winfo screenwidth .]