Hello,
this patch fixes ticket #30. It's a typical 64bit problem.
Some 64bit pointers were stored in 32bit variables.
Regards, Ulrich
--
Ulrich Wilkens
Email: m...@uwilkens.de
>From 59cf50f449f41f9f9d39927921fb9a57365e0a53 Mon Sep 17 00:00:00 2001
From: Ulrich Wilkens <m...@uwilkens.de>
Date: Thu, 11 Sep 2014 19:27:53 +0200
Subject: [PATCH] Fix panel right click
---
cde/programs/dtwm/DataBaseLoad.h | 2 +-
cde/programs/dtwm/Parse.c | 6 ++---
cde/programs/dtwm/PopupMenu.c | 50 ++++++++++++++++++++--------------------
3 files changed, 29 insertions(+), 29 deletions(-)
diff --git a/cde/programs/dtwm/DataBaseLoad.h b/cde/programs/dtwm/DataBaseLoad.h
index 1bc9b5b..b4e417b 100644
--- a/cde/programs/dtwm/DataBaseLoad.h
+++ b/cde/programs/dtwm/DataBaseLoad.h
@@ -452,7 +452,7 @@ struct _PopupData
Widget delete_ws_item;
Widget rename_ws_item;
Widget * action_item;
- int action_count;
+ long action_count;
Boolean subpanel_add_state;
};
diff --git a/cde/programs/dtwm/Parse.c b/cde/programs/dtwm/Parse.c
index c13389e..51011e3 100644
--- a/cde/programs/dtwm/Parse.c
+++ b/cde/programs/dtwm/Parse.c
@@ -78,7 +78,7 @@ StringToInt (char * parse_source,
{
char * source_ptr = parse_source;
- int value = 0;
+ long value = 0;
char chr;
@@ -425,12 +425,12 @@ StringToPositionHints (char * parse_source,
status = StringToInt (parse_source, parse_return);
- if ((int) *parse_return < 0 || (int) *parse_return > 100)
+ if ((long) *parse_return < 0 || (long) *parse_return > 100)
{
_DtSimpleError (panel.app_name, DtError, NULL,
"Invalid Position Hints value -- %d",
- (int) *parse_return);
+ (long) *parse_return);
return (False);
}
diff --git a/cde/programs/dtwm/PopupMenu.c b/cde/programs/dtwm/PopupMenu.c
index a461b55..70b0dd6 100644
--- a/cde/programs/dtwm/PopupMenu.c
+++ b/cde/programs/dtwm/PopupMenu.c
@@ -76,9 +76,9 @@ ActionCB (Widget w,
{
ControlData * control_data;
- int control_type;
+ long control_type;
- int indx = (int) client_data;
+ long indx = (long) client_data;
Arg args[1];
@@ -88,7 +88,7 @@ ActionCB (Widget w,
if (CheckControlTypeFile (control_data) == False)
return;
- control_type = (int)
(control_data->element_values[CONTROL_TYPE].parsed_value);
+ control_type = (long)
(control_data->element_values[CONTROL_TYPE].parsed_value);
if (control_type == CONTROL_FILE && !control_data->is_action)
{
@@ -136,7 +136,7 @@ DeleteWorkspaceCB (Widget w,
{
- int delete_workspace = (int) client_data;
+ long delete_workspace = (long) client_data;
SwitchData * switch_data;
int i;
@@ -178,7 +178,7 @@ RenameWorkspaceCB (Widget w,
{
- int rename_ws = (int) client_data;
+ long rename_ws = (long) client_data;
SwitchData * switch_data;
int i;
@@ -397,7 +397,7 @@ DeleteControlCB (Widget w,
#endif
Widget dialog;
String title, del_ctrl, ctrl_name, ctrl_label, del_msg, message;
- int indx = (int) client_data;
+ long indx = (long) client_data;
Arg args[2];
XtSetArg (args[0], XmNuserData, &control_data);
@@ -414,7 +414,7 @@ DeleteControlCB (Widget w,
if (ctrl_label == NULL)
ctrl_label = ctrl_name;
- if ((Boolean)control_data->element_values[CONTROL_LOCKED].parsed_value)
+ if (control_data->element_values[CONTROL_LOCKED].parsed_value)
{
title = FPGETMESSAGE(82,1, "Workspace Manager - Delete Locked Control
Error");
title = XtNewString (title);
@@ -501,7 +501,7 @@ ToggleControlCB (Widget w,
{
SubpanelData * subpanel_data = (SubpanelData *) client_data;
ControlData * control_data;
- int indx = (int) client_data;
+ long indx = (long) client_data;
Arg args[1];
XtSetArg (args[0], XmNuserData, &control_data);
@@ -528,7 +528,7 @@ AddSubpanelCB (Widget w,
{
ControlData * control_data;
- int indx = (int) client_data;
+ long indx = (long) client_data;
Arg args[1];
XtSetArg (args[0], XmNuserData, &control_data);
@@ -572,7 +572,7 @@ DeleteSubpanelCB (Widget w,
spanel_name = (char *)
subpanel_data->element_values[SUBPANEL_NAME].parsed_value;
- if ((Boolean)subpanel_data->element_values[SUBPANEL_LOCKED].parsed_value)
+ if (subpanel_data->element_values[SUBPANEL_LOCKED].parsed_value)
{
title = FPGETMESSAGE(82,3, "Workspace Manager - Delete Locked Subpanel
Error");
title = XtNewString (title);
@@ -937,14 +937,14 @@ SetupActionMenuItems (Widget w,
ControlData * control_data,
PopupData * popup_data,
Widget * action_item,
- int * action_count)
+ long * action_count)
{
XmString label_string;
- int i;
- int num_actions = 0;
- int action_index = *action_count;
+ long i;
+ long num_actions = 0;
+ long action_index = *action_count;
Arg args[5];
@@ -1038,7 +1038,7 @@ UpdateMainControlMenu (ControlData * control_data)
char * mnemonic;
char * control_label;
- int control_type;
+ long control_type;
Arg args[5];
ElementValue * old_element_values;
@@ -1072,7 +1072,7 @@ UpdateMainControlMenu (ControlData * control_data)
/* Otherwise, if there is a subpanel, activate the delete subpanel */
/* item. Else activate the add subpanel item. */
- control_type = (int)
control_data->element_values[CONTROL_TYPE].parsed_value;
+ control_type =
(long)control_data->element_values[CONTROL_TYPE].parsed_value;
if (control_type != CONTROL_BLANK)
{
@@ -1252,8 +1252,8 @@ UpdateSubpanelControlMenu (SubpanelData * subpanel_data,
XtManageChild (panel.popup_data->deinstall_item);
- if ((Boolean) (subpanel_data->parent_control_data->
- element_values[CONTROL_LOCKED].parsed_value) != True)
+ if (! (subpanel_data->parent_control_data->
+ element_values[CONTROL_LOCKED].parsed_value))
XtManageChild (panel.popup_data->toggle_item);
else
XtUnmanageChild (panel.popup_data->toggle_item);
@@ -1289,7 +1289,7 @@ PopupMenu (Widget w,
BoxData * box_data = NULL;
XmString label_string;
Arg args[5];
- int control_type, action_count = panel.popup_data->action_count;
+ long control_type, action_count = panel.popup_data->action_count;
callback = (XmAnyCallbackStruct *) call_data;
event = (XEvent *) callback->event;
@@ -1393,7 +1393,7 @@ CreatePopupMenu (Widget w)
char * mnemonic;
Arg args[5];
PopupData * popup_data;
- int i, child_num = 0;
+ long i, child_num = 0;
XmString label_string;
popup_data = panel.popup_data = (PopupData *) XtMalloc(sizeof(PopupData));
@@ -1499,7 +1499,7 @@ CreateActionButtons (Widget w,
{
PopupData * popup_data = switch_data->popup_data;
- int action_count = popup_data->action_count;
+ long action_count = popup_data->action_count;
Arg args[1];
XmString label_string;
char * control_label;
@@ -1554,7 +1554,7 @@ ShowWorkspaceItems (SwitchData * switch_data,
{
PopupData * popup_data = switch_data->popup_data;
- int i;
+ long i;
Arg args[1];
XmString label_string;
char * control_label;
@@ -1769,7 +1769,7 @@ WSPopupMenu (Widget w,
Boolean is_button = False;
Position x, y;
Arg args[2];
- int control_type;
+ long control_type;
callback = (XmAnyCallbackStruct *) call_data;
event = (XEvent *) callback->event;
@@ -1838,7 +1838,7 @@ WSPopupMenu (Widget w,
if (control_data != NULL)
{
control_type =
- (int) control_data->element_values[CONTROL_TYPE].parsed_value;
+ (long) control_data->element_values[CONTROL_TYPE].parsed_value;
if (control_type != CONTROL_BLANK)
/* The mouse is over a control in the switch area */
@@ -1885,7 +1885,7 @@ CreateWorkspacePopupMenu (Widget w,
XmString label_string;
char * mnemonic;
Arg args[5];
- int i, child_num = 0;
+ long i, child_num = 0;
PopupData * popup_data;
popup_data = (PopupData *) XtMalloc(sizeof(PopupData));
--
1.7.12.1
------------------------------------------------------------------------------
Want excitement?
Manually upgrade your production database.
When you want reliability, choose Perforce
Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.clktrk
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel