Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: CF: What's up with this?
On Sun, 13 Dec 1998, There can be only one. wrote:
> Hello everyone,
>
> Now and then, after reading a sign or a book on the floor with the `a'
> action command, all the keys no longer function except the arrow keys.
> If you use, say, the CTRL key for running or the `SHIFT' key for fire,
> it acts as if that key wasn't bound to anything. It's really annoying
> when you can't use the apostrophe ' thing to enter commands too :-)
Yes, it's a known problem. Apply the patch :).
/David
*** gx11.c.orig Fri Dec 4 21:32:23 1998
--- gx11.c Fri Dec 4 21:35:54 1998
***************
*** 394,401 ****
static GtkWidget *history_list = NULL;
static GtkWidget *gtkwin_config = NULL;
! static char last_str[MAX_BUF];
!
static int pickup_mode = 0;
--- 394,400 ----
static GtkWidget *history_list = NULL;
static GtkWidget *gtkwin_config = NULL;
! static char *last_str;
static int pickup_mode = 0;
***************
*** 440,445 ****
--- 439,446 ----
void end_windows()
{
+ free(last_str);
+
/* XFreeGC(display, gc_root);
XFreeGC(display, gc_game);
XFreeGC(display, gc_stats);
***************
*** 1908,1917 ****
char buffer[3][MAX_BUF];
char *buffers[3];
gint list;
!
/* Is it the inventory or look list? */
if (l->multi_list) {
!
/* Ok, inventory list. Animations are handled in client code. First do the nice thing and
* free all allocated animation lists.
*/
--- 1909,1918 ----
char buffer[3][MAX_BUF];
char *buffers[3];
gint list;
!
/* Is it the inventory or look list? */
if (l->multi_list) {
!
/* Ok, inventory list. Animations are handled in client code. First do the nice thing and
* free all allocated animation lists.
*/
***************
*** 1996,2002 ****
pixmaps[facecachemap[tmp->face]].gdkmask);
gtk_clist_set_row_data (GTK_CLIST(l->gtk_list[0]), tmprow, tmp);
if (color_inv) {
! if (tmp->cursed) {
gtk_clist_set_background (GTK_CLIST(l->gtk_list[0]), tmprow,
&root_color[NDI_RED]);
}
--- 1997,2003 ----
pixmaps[facecachemap[tmp->face]].gdkmask);
gtk_clist_set_row_data (GTK_CLIST(l->gtk_list[0]), tmprow, tmp);
if (color_inv) {
! if (tmp->cursed || tmp->damned) {
gtk_clist_set_background (GTK_CLIST(l->gtk_list[0]), tmprow,
&root_color[NDI_RED]);
}
***************
*** 2004,2010 ****
gtk_clist_set_background (GTK_CLIST(l->gtk_list[0]), tmprow,
&root_color[NDI_BLUE]);
}
! if (tmp->cursed && tmp->magical) {
gtk_clist_set_background (GTK_CLIST(l->gtk_list[0]), tmprow,
&root_color[NDI_NAVY]);
}
--- 2005,2011 ----
gtk_clist_set_background (GTK_CLIST(l->gtk_list[0]), tmprow,
&root_color[NDI_BLUE]);
}
! if ((tmp->cursed || tmp->damned) && tmp->magical) {
gtk_clist_set_background (GTK_CLIST(l->gtk_list[0]), tmprow,
&root_color[NDI_NAVY]);
}
***************
*** 2160,2170 ****
--- 2161,2176 ----
for (list=0; list < 8; list++) {
gtk_adjustment_set_value (GTK_ADJUSTMENT (GTK_RANGE (GTK_CLIST(l->gtk_list[list])->vscrollbar)->adjustment), l->pos[list]);
gtk_clist_thaw (GTK_CLIST(l->gtk_list[list]));
+ /* gtk_widget_draw_children (l->gtk_list[list]);
+ gtk_widget_draw (l->gtk_list[list],NULL);*/
}
} else {
+
gtk_adjustment_set_value (GTK_ADJUSTMENT (GTK_RANGE (GTK_CLIST(l->gtk_list[0])->vscrollbar)->adjustment), l->pos[0]);
gtk_clist_thaw (GTK_CLIST(l->gtk_list[0]));
+ /* gtk_widget_draw_children (l->gtk_list[0]);
+ gtk_widget_draw (l->gtk_list[0],NULL);*/
}
}
***************
*** 3340,3346 ****
node = GTK_CLIST(gtklist)->selection;
tmp = gtk_clist_get_row_data (GTK_CLIST(gtklist), (gint)node->data);
gtk_clist_unselect_row (GTK_CLIST(gtklist), (gint)node->data, 0);
! client_send_examine (tmp->tag);
}
}
if (event->type==GDK_BUTTON_PRESS && event->button==2) {
--- 3346,3355 ----
node = GTK_CLIST(gtklist)->selection;
tmp = gtk_clist_get_row_data (GTK_CLIST(gtklist), (gint)node->data);
gtk_clist_unselect_row (GTK_CLIST(gtklist), (gint)node->data, 0);
! if (event->state & GDK_SHIFT_MASK)
! toggle_locked(tmp);
! else
! client_send_examine (tmp->tag);
}
}
if (event->type==GDK_BUTTON_PRESS && event->button==2) {
***************
*** 3349,3355 ****
tmp = gtk_clist_get_row_data (GTK_CLIST(gtklist), (gint)node->data);
gtk_clist_unselect_row (GTK_CLIST(gtklist), (gint)node->data, 0);
! client_send_apply (tmp->tag);
}
}
if (event->type==GDK_BUTTON_PRESS && event->button==3) {
--- 3358,3367 ----
tmp = gtk_clist_get_row_data (GTK_CLIST(gtklist), (gint)node->data);
gtk_clist_unselect_row (GTK_CLIST(gtklist), (gint)node->data, 0);
! if (event->state & GDK_SHIFT_MASK)
! send_mark_obj(tmp);
! else
! client_send_apply (tmp->tag);
}
}
if (event->type==GDK_BUTTON_PRESS && event->button==3) {
***************
*** 3609,3622 ****
if (inv_list.env->inv_updated) {
draw_list (&inv_list);
-
inv_list.env->inv_updated = 0;
! }
!
! if (look_list.env->inv_updated) {
!
! draw_list (&look_list);
! look_list.env->inv_updated = 0;
}
}
--- 3621,3632 ----
if (inv_list.env->inv_updated) {
draw_list (&inv_list);
inv_list.env->inv_updated = 0;
! } else {
! if (look_list.env->inv_updated) {
! draw_list (&look_list);
! look_list.env->inv_updated = 0;
! }
}
}
***************
*** 5335,5340 ****
--- 5345,5351 ----
int sync_display = 0;
static int get_root_display(char *display_name,int gargc, char **gargv) {
gtk_init (&gargc,&gargv);
+ last_str=malloc(32767);
create_splash();
create_windows();