Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 633593 Details for
Bug 869959
xterm stopped working!
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
fix which will be in patch #286
xterm-285a.patch (text/plain), 13.00 KB, created by
Thomas E. Dickey
on 2012-10-25 23:51:21 UTC
(
hide
)
Description:
fix which will be in patch #286
Filename:
MIME Type:
Creator:
Thomas E. Dickey
Created:
2012-10-25 23:51:21 UTC
Size:
13.00 KB
patch
obsolete
># ftp://invisible-island.net/xterm/patches/temp//usr/build/xterm/xterm-285a.patch.gz ># patch by Thomas E. Dickey <dickey@invisible-island.net> ># created Thu Oct 25 23:47:43 UTC 2012 ># ------------------------------------------------------------------------------ ># MANIFEST | 2 - ># charproc.c | 48 +++++++++++++++--------------------- ># misc.c | 59 +++++++++++++++++++++++++++++++++++++-------- ># package/debian/changelog | 6 ++++ ># package/xterm.spec | 4 +-- ># screen.c | 29 ++++++++++------------ ># version.h | 6 ++-- ># xterm.h | 4 ++- ># xterm.log.html | 14 +++++++++- ># xterm.man | 5 ++- ># 10 files changed, 114 insertions(+), 63 deletions(-) ># ------------------------------------------------------------------------------ >Index: MANIFEST >--- /usr/build/xterm/xterm-285+/MANIFEST 2012-10-24 00:59:18.000000000 +0000 >+++ /usr/build/xterm/xterm-285a/MANIFEST 2012-10-25 10:53:12.000000000 +0000 >@@ -1,4 +1,4 @@ >-MANIFEST for xterm-285, version xterm-285 >+MANIFEST for xterm-286, version xterm-286 > -------------------------------------------------------------------------------- > MANIFEST this file > 256colres.h resource-definitions for 256-color mode >Index: charproc.c >--- /usr/build/xterm/xterm-285+/charproc.c 2012-10-23 08:44:57.000000000 +0000 >+++ /usr/build/xterm/xterm-285a/charproc.c 2012-10-25 23:12:20.000000000 +0000 >@@ -1,4 +1,4 @@ >-/* $XTermId: charproc.c,v 1.1265 2012/10/23 08:44:57 tom Exp $ */ >+/* $XTermId: charproc.c,v 1.1267 2012/10/25 23:12:20 tom Exp $ */ > > /* > * Copyright 1999-2011,2012 by Thomas E. Dickey >@@ -6020,9 +6020,9 @@ > case ewGetWinState: /* Report the window's state */ > if (AllowWindowOps(xw, ewGetWinState)) { > TRACE(("...get window attributes\n")); >- XGetWindowAttributes(screen->display, >- VWindow(screen), >- &win_attrs); >+ xtermGetWinAttrs(screen->display, >+ VWindow(screen), >+ &win_attrs); > init_reply(ANSI_CSI); > reply.a_pintro = 0; > reply.a_nparam = 1; >@@ -6038,9 +6038,9 @@ > case ewGetWinPosition: /* Report the window's position */ > if (AllowWindowOps(xw, ewGetWinPosition)) { > TRACE(("...get window position\n")); >- XGetWindowAttributes(screen->display, >- WMFrameWindow(xw), >- &win_attrs); >+ xtermGetWinAttrs(screen->display, >+ WMFrameWindow(xw), >+ &win_attrs); > init_reply(ANSI_CSI); > reply.a_pintro = 0; > reply.a_nparam = 3; >@@ -6056,17 +6056,10 @@ > case ewGetWinSizePixels: /* Report the window's size in pixels */ > if (AllowWindowOps(xw, ewGetWinSizePixels)) { > TRACE(("...get window size in pixels\n")); >- XGetWindowAttributes(screen->display, >- VWindow(screen), >- &win_attrs); > init_reply(ANSI_CSI); > reply.a_pintro = 0; > reply.a_nparam = 3; > reply.a_param[0] = 4; >- /*FIXME: find if dtterm uses >- * win_attrs.height or Height >- * win_attrs.width or Width >- */ > reply.a_param[1] = (ParmType) Height(screen); > reply.a_param[2] = (ParmType) Width(screen); > reply.a_inters = 0; >@@ -6605,8 +6598,8 @@ > if (askedHeight == 0 > || askedWidth == 0 > || xw->misc.limit_resize > 0) { >- XGetWindowAttributes(XtDisplay(xw), >- RootWindowOfScreen(XtScreen(xw)), &attrs); >+ xtermGetWinAttrs(XtDisplay(xw), >+ RootWindowOfScreen(XtScreen(xw)), &attrs); > } > > if (text) { >@@ -8197,18 +8190,17 @@ > req_type ? XGetAtomName(dpy, req_type) : "?")); > property = XInternAtom(dpy, prop_name, False); > >- if (XGetWindowProperty(dpy, >- w, >- property, >- 0L, >- long_length, >- False, >- req_type, >- &actual_return_type, >- &actual_format_return, >- &nitems_return, >- &bytes_after_return, >- &prop_return) != Success) { >+ if (!xtermGetWinProp(dpy, >+ w, >+ property, >+ 0L, >+ long_length, >+ req_type, >+ &actual_return_type, >+ &actual_format_return, >+ &nitems_return, >+ &bytes_after_return, >+ &prop_return)) { > TRACE((".. Cannot get %s property.\n", prop_name)); > } else if (prop_return != 0) { > >Index: misc.c >--- /usr/build/xterm/xterm-285+/misc.c 2012-10-14 18:53:14.000000000 +0000 >+++ /usr/build/xterm/xterm-285a/misc.c 2012-10-25 23:12:20.000000000 +0000 >@@ -1,4 +1,4 @@ >-/* $XTermId: misc.c,v 1.624 2012/10/14 18:53:14 tom Exp $ */ >+/* $XTermId: misc.c,v 1.626 2012/10/25 23:12:20 tom Exp $ */ > > /* > * Copyright 1999-2011,2012 by Thomas E. Dickey >@@ -1513,12 +1513,12 @@ > */ > if (maximize > && QueryMaximize(xw, &root_width, &root_height) >- && XGetWindowAttributes(screen->display, >- WMFrameWindow(xw), >- &wm_attrs) >- && XGetWindowAttributes(screen->display, >- VShellWindow(xw), >- &vshell_attrs)) { >+ && xtermGetWinAttrs(screen->display, >+ WMFrameWindow(xw), >+ &wm_attrs) >+ && xtermGetWinAttrs(screen->display, >+ VShellWindow(xw), >+ &vshell_attrs)) { > > if (screen->restore_data != True > || screen->restore_width != root_width >@@ -5700,12 +5700,13 @@ > return 0; > } > >-static Boolean >-validWindow(Display * dpy, Window win, XWindowAttributes * attrs) >+Boolean >+xtermGetWinAttrs(Display * dpy, Window win, XWindowAttributes * attrs) > { > Boolean result = False; > Status code; > >+ memset(attrs, 0, sizeof(*attrs)); > if (win != None) { > XErrorHandler save = XSetErrorHandler(catch_x11_error); > x11_errors = 0; >@@ -5721,6 +5722,44 @@ > return result; > } > >+Boolean >+xtermGetWinProp(Display * display, >+ Window win, >+ Atom property, >+ long long_offset, >+ long long_length, >+ Atom req_type, >+ Atom * actual_type_return, >+ int *actual_format_return, >+ unsigned long *nitems_return, >+ unsigned long *bytes_after_return, >+ unsigned char **prop_return) >+{ >+ Boolean result = True; >+ >+ if (win != None) { >+ XErrorHandler save = XSetErrorHandler(catch_x11_error); >+ x11_errors = 0; >+ if (XGetWindowProperty(display, >+ win, >+ property, >+ long_offset, >+ long_length, >+ False, >+ req_type, >+ actual_type_return, >+ actual_format_return, >+ nitems_return, >+ bytes_after_return, >+ prop_return) == Success >+ && x11_errors == 0) { >+ result = True; >+ } >+ XSetErrorHandler(save); >+ } >+ return result; >+} >+ > void > xtermEmbedWindow(Window winToEmbedInto) > { >@@ -5728,7 +5767,7 @@ > XWindowAttributes attrs; > > TRACE(("checking winToEmbedInto %#lx\n", winToEmbedInto)); >- if (validWindow(dpy, winToEmbedInto, &attrs)) { >+ if (xtermGetWinAttrs(dpy, winToEmbedInto, &attrs)) { > XtermWidget xw = term; > TScreen *screen = TScreenOf(xw); > >Index: package/debian/changelog >--- /usr/build/xterm/xterm-285+/package/debian/changelog 2012-10-15 10:57:41.000000000 +0000 >+++ /usr/build/xterm/xterm-285a/package/debian/changelog 2012-10-25 10:56:37.000000000 +0000 >@@ -1,3 +1,9 @@ >+xterm-dev (286) unstable; urgency=low >+ >+ * Redhat #869959 >+ >+ -- Thomas E. Dickey <dickey@invisible-island.net> Thu, 25 Oct 2012 06:56:35 -0400 >+ > xterm-dev (285) unstable; urgency=low > > * Miscellaneous fixes. >Index: package/xterm.spec >--- /usr/build/xterm/xterm-285+/package/xterm.spec 2012-10-15 10:57:12.000000000 +0000 >+++ /usr/build/xterm/xterm-285a/package/xterm.spec 2012-10-25 10:55:22.000000000 +0000 >@@ -1,7 +1,7 @@ >-# $XTermId: xterm.spec,v 1.38 2012/10/15 10:57:12 tom Exp $ >+# $XTermId: xterm.spec,v 1.39 2012/10/25 10:55:22 tom Exp $ > Summary: X terminal emulator (development version) > Name: xterm-dev >-Version: 285 >+Version: 286 > Release: 1 > License: X11 > Group: User Interface/X >Index: screen.c >--- /usr/build/xterm/xterm-285+/screen.c 2012-09-22 01:13:11.000000000 +0000 >+++ /usr/build/xterm/xterm-285a/screen.c 2012-10-25 23:12:20.000000000 +0000 >@@ -1,4 +1,4 @@ >-/* $XTermId: screen.c,v 1.468 2012/09/22 01:13:11 tom Exp $ */ >+/* $XTermId: screen.c,v 1.469 2012/10/25 23:12:20 tom Exp $ */ > > /* > * Copyright 1999-2011,2012 by Thomas E. Dickey >@@ -2812,23 +2812,22 @@ > unsigned char *args; > long *ldata; > Boolean has_capability = False; >- int rc; >+ Boolean rc; > > while (!has_capability) { >- rc = XGetWindowProperty(dpy, >- DefaultRootWindow(dpy), >- atom_supported, >- long_offset, >- long_length, >- False, /* do not delete */ >- AnyPropertyType, /* req_type */ >- &actual_type, /* actual_type_return */ >- &actual_format, /* actual_format_return */ >- &nitems, /* nitems_return */ >- &bytes_after, /* bytes_after_return */ >- &args /* prop_return */ >+ rc = xtermGetWinProp(dpy, >+ DefaultRootWindow(dpy), >+ atom_supported, >+ long_offset, >+ long_length, >+ AnyPropertyType, /* req_type */ >+ &actual_type, /* actual_type_return */ >+ &actual_format, /* actual_format_return */ >+ &nitems, /* nitems_return */ >+ &bytes_after, /* bytes_after_return */ >+ &args /* prop_return */ > ); >- if (rc != Success >+ if (!rc > || actual_type != XA_ATOM) { > break; > } >Index: version.h >--- /usr/build/xterm/xterm-285+/version.h 2012-10-23 10:45:19.000000000 +0000 >+++ /usr/build/xterm/xterm-285a/version.h 2012-10-25 10:55:13.000000000 +0000 >@@ -1,4 +1,4 @@ >-/* $XTermId: version.h,v 1.348 2012/10/23 10:45:19 tom Exp $ */ >+/* $XTermId: version.h,v 1.349 2012/10/25 10:55:13 tom Exp $ */ > > /* > * Copyright 1998-2011,2012 by Thomas E. Dickey >@@ -36,8 +36,8 @@ > * version of X to which this version of xterm has been built. The number in > * parentheses is my patch number (Thomas E. Dickey). > */ >-#define XTERM_PATCH 285 >-#define XTERM_DATE 2012-10-23 >+#define XTERM_PATCH 286 >+#define XTERM_DATE 2012-10-25 > > #ifndef __vendorversion__ > #define __vendorversion__ "XTerm" >Index: xterm.h >--- /usr/build/xterm/xterm-285+/xterm.h 2012-10-14 18:34:32.000000000 +0000 >+++ /usr/build/xterm/xterm-285a/xterm.h 2012-10-25 23:18:58.000000000 +0000 >@@ -1,4 +1,4 @@ >-/* $XTermId: xterm.h,v 1.708 2012/10/14 18:34:32 tom Exp $ */ >+/* $XTermId: xterm.h,v 1.710 2012/10/25 23:18:58 tom Exp $ */ > > /* > * Copyright 1999-2011,2012 by Thomas E. Dickey >@@ -974,6 +974,8 @@ > #define TIMESTAMP_LEN 20 /* length of TIMESTAMP_FMT */ > > extern Bool AllocateTermColor(XtermWidget, ScrnColors *, int, const char *, Bool); >+extern Boolean xtermGetWinAttrs(Display * /* dpy */, Window /* win */, XWindowAttributes * /* attrs */); >+extern Boolean xtermGetWinProp(Display * /* dpy */, Window /* win */, Atom /* property */, long /* long_offset */, long /* long_length */, Atom /* req_type */, Atom * /* actual_type_return */, int * /* actual_format_return */, unsigned long * /* nitems_return */, unsigned long * /* bytes_after_return */, unsigned char ** /* prop_return */); > extern Cursor make_colored_cursor (unsigned /* cursorindex */, unsigned long /* fg */, unsigned long /* bg */); > extern OptionHelp * sortedOpts(OptionHelp *, XrmOptionDescRec *, Cardinal); > extern String xtermEnvLocale (void); >Index: xterm.log.html >--- /usr/build/xterm/xterm-285+/xterm.log.html 2012-10-23 23:48:43.000000000 +0000 >+++ /usr/build/xterm/xterm-285a/xterm.log.html 2012-10-25 23:22:45.000000000 +0000 >@@ -31,7 +31,7 @@ > * sale, use or other dealings in this Software without prior written * > * authorization. * > ***************************************************************************** >- $XTermId: xterm.log.html,v 1.1260 2012/10/23 23:48:43 tom Exp $ >+ $XTermId: xterm.log.html,v 1.1261 2012/10/25 23:22:45 tom Exp $ > --> > > <html> >@@ -70,6 +70,8 @@ > the latest version of this file.</p> > > <ul> >+ <li><a href="#xterm_dev">Development</a></li> >+ > <li><a href="#xterm_285">Patch #285 - 2012/10/23</a></li> > > <li><a href="#xterm_284">Patch #284 - 2012/10/14</a></li> >@@ -853,6 +855,16 @@ > <li><a href="#xterm_01">Patch #1 - 1996/1/6</a></li> > </ul> > >+ <h1><a name="xterm_dev" id="xterm_dev">Development</a></h1> >+ >+ <ul> >+ <li>improve check for window-manager name needed to establish >+ usable default for activeIcon resource. This works around a >+ scenario where <code>gdm</code> does incomplete cleanup, >+ leaving window properties that refer to windows which no longer >+ exist (Redhat #869959).</li> >+ </ul> >+ > <h1><a name="xterm_285" id="xterm_285">Patch #285 - > 2012/10/23</a></h1> > >Index: xterm.man >--- /usr/build/xterm/xterm-285+/xterm.man 2012-10-23 11:03:04.000000000 +0000 >+++ /usr/build/xterm/xterm-285a/xterm.man 2012-10-25 23:25:26.000000000 +0000 >@@ -1,5 +1,5 @@ > '\" t >-.\" $XTermId: xterm.man,v 1.549 2012/10/23 11:03:04 tom Exp $ >+.\" $XTermId: xterm.man,v 1.550 2012/10/25 23:25:26 tom Exp $ > .\" > .\" Copyright 1996-2011,2012 by Thomas E. Dickey > .\" >@@ -1674,7 +1674,8 @@ > \fI\*n\fP checks at startup, and shows an active icon only for window > managers which it can identify and which are known to support the feature. > These are \fIfvwm\fP (full support), and \fIwindow maker\fP (limited). >-A few other windows managers (such as \fItwm\fP), support active icons, >+A few other windows managers (such as \fItwm\fP and \fIctwm\fP) >+support active icons, > but do not support the extensions which allow \fI\*n\fP > to identify the window manager. > .TP 8
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 869959
: 633593