r1147 - trunk/src/target/OM-2007/applications/openmoko-dialer/src
tony_guan at sita.openmoko.org
tony_guan at sita.openmoko.org
Tue Feb 27 09:37:11 CET 2007
Author: tony_guan
Date: 2007-02-27 09:37:06 +0100 (Tue, 27 Feb 2007)
New Revision: 1147
Modified:
trunk/src/target/OM-2007/applications/openmoko-dialer/src/contacts.c
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-dialer.c
trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-pin.c
Log:
to remove the segment fault on input panel
Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/contacts.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/contacts.c 2007-02-27 07:40:32 UTC (rev 1146)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/contacts.c 2007-02-27 08:37:06 UTC (rev 1147)
@@ -15,6 +15,7 @@
*
* Current Version: $Rev$ ($Date) [$Author: Tony Guan $]
*/
+#define LIBEBOOK1_2_5 1
#include "contacts.h"
/**
@@ -642,11 +643,15 @@
if(photo)
if (photo)
+ {
+#ifndef LIBEBOOK1_2_5
gdk_pixbuf_loader_write (loader, photo->data.inlined.data,
photo->data.inlined.length, NULL);
- //gdk_pixbuf_loader_write (loader, photo->data, photo->length, NULL); //just temporaly modified.
+#else
+ gdk_pixbuf_loader_write (loader, photo->data, photo->length, NULL); //just temporaly modified.
+#endif
+ }
-
gdk_pixbuf_loader_close (loader, NULL);
pixbuf = gdk_pixbuf_loader_get_pixbuf (loader);
Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-dialer.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-dialer.c 2007-02-27 07:40:32 UTC (rev 1146)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-dialer.c 2007-02-27 08:37:06 UTC (rev 1147)
@@ -55,19 +55,30 @@
{
moko_dialer_textview_delete (appdata->moko_dialer_text_view);
//refresh the autolist,but do not automaticall fill the textview
- gchar *codesinput;
- codesinput =g_strdup(moko_dialer_textview_get_input (appdata->moko_dialer_text_view, FALSE));
- DBG_MESSAGE("input %s",codesinput);
- if (g_utf8_strlen (codesinput, -1) >= MOKO_DIALER_MIN_SENSATIVE_LEN)
+ gchar *codesinput = 0;
+ codesinput =
+ g_strdup (moko_dialer_textview_get_input
+ (appdata->moko_dialer_text_view, FALSE));
+
+ if (codesinput)
{
- moko_dialer_autolist_refresh_by_string (appdata->moko_dialer_autolist,
- codesinput, FALSE);
- moko_dialer_textview_set_color (appdata->moko_dialer_text_view);
+ DBG_MESSAGE ("input %s", codesinput);
+ if (g_utf8_strlen (codesinput, -1) >= MOKO_DIALER_MIN_SENSATIVE_LEN)
+ {
+ moko_dialer_autolist_refresh_by_string (appdata->moko_dialer_autolist,
+ codesinput, FALSE);
+ moko_dialer_textview_set_color (appdata->moko_dialer_text_view);
+ }
+ else
+ moko_dialer_autolist_hide_all_tips (appdata->moko_dialer_autolist);
+ g_free (codesinput);
}
else
- moko_dialer_autolist_hide_all_tips (appdata->moko_dialer_autolist);
- g_free (codesinput);
+ {
+ DBG_WARN ("No input now.");
+ }
+
}
}
@@ -88,10 +99,15 @@
{
gchar *codesinput;
//get the input digits
- codesinput =g_strdup(moko_dialer_textview_get_input (appdata->moko_dialer_text_view,
- FALSE));
+ codesinput =
+ g_strdup (moko_dialer_textview_get_input
+ (appdata->moko_dialer_text_view, FALSE));
+ if (!codesinput)
+ return;
+
if (g_utf8_strlen (codesinput, -1) < 1)
{
+ //user didn't input anything, maybe it's a redial, so we just insert the last dialed number and return this time.
if (g_utf8_strlen (appdata->g_state.lastnumber, -1) > 0)
{
moko_dialer_textview_insert (appdata->moko_dialer_text_view,
@@ -100,8 +116,6 @@
appdata->g_state.lastnumber,
TRUE);
}
- //user didn't input anything, maybe it's a redial
-
return;
}
//empty the textview
@@ -112,8 +126,8 @@
moko_dialer_autolist_hide_all_tips (appdata->moko_dialer_autolist);
//got the number;//FIXME:which function should I use if not g_strdup. & strcpy.
- //strcpy(appdata->g_peer_info.number, codesinput );
- g_stpcpy(appdata->g_peer_info.number, codesinput );
+ //strcpy(appdata->g_peer_info.number, codesinput );
+ g_stpcpy (appdata->g_peer_info.number, codesinput);
//retrieve the contact information if any.
contact_get_peer_info_from_number (appdata->g_contactlist.contacts,
@@ -231,7 +245,7 @@
char input[2];
input[0] = parac;
input[1] = 0;
- gchar *codesinput=NULL;
+ gchar *codesinput = NULL;
//DBG_TRACE();
MOKO_DIALER_APP_DATA *appdata = (MOKO_DIALER_APP_DATA *) user_data;
@@ -242,11 +256,9 @@
//DBG_TRACE();
- codesinput = g_strdup(moko_dialer_textview_get_input (moko_dialer_text_view, FALSE));
-//DBG_TRACE();
+ codesinput =
+ g_strdup (moko_dialer_textview_get_input (moko_dialer_text_view, FALSE));
-//DBG_MESSAGE("LEN=%d,MAX=%d",strlen(codesinput),MOKO_DIALER_MAX_NUMBER_LEN);
-
if (g_utf8_strlen (codesinput, -1) >= MOKO_DIALER_MIN_SENSATIVE_LEN)
{
moko_dialer_autolist_refresh_by_string (appdata->moko_dialer_autolist,
@@ -256,9 +268,12 @@
{
moko_dialer_autolist_hide_all_tips (appdata->moko_dialer_autolist);
}
- g_free (codesinput);
+ if (codesinput)
+ g_free (codesinput);
+
}
+
void
on_dialer_panel_user_hold (GtkWidget * widget, gchar parac,
gpointer user_data)
@@ -267,19 +282,17 @@
}
void
-on_window_dialer_hide (GtkWidget *widget,
- MOKO_DIALER_APP_DATA * appdata)
+on_window_dialer_hide (GtkWidget * widget, MOKO_DIALER_APP_DATA * appdata)
{
- appdata->window_present=0;
+ appdata->window_present = 0;
}
void
-on_window_dialer_show (GtkWidget *widget,
- MOKO_DIALER_APP_DATA * appdata)
+on_window_dialer_show (GtkWidget * widget, MOKO_DIALER_APP_DATA * appdata)
{
- DBG_ENTER();
- appdata->window_present=widget;
- DBG_LEAVE();
+ DBG_ENTER ();
+ appdata->window_present = widget;
+ DBG_LEAVE ();
}
@@ -318,17 +331,15 @@
gtk_menu_shell_append (GTK_MENU_SHELL (appmenu), GTK_WIDGET (hideitem));
- moko_finger_window_set_application_menu (MOKO_FINGER_WINDOW (window), appmenu);
+ moko_finger_window_set_application_menu (MOKO_FINGER_WINDOW (window),
+ appmenu);
- g_signal_connect(G_OBJECT (window), "delete_event",
- G_CALLBACK (gtk_widget_hide_on_delete),
- NULL);
- g_signal_connect (G_OBJECT (window), "show",
- G_CALLBACK (on_window_dialer_show),
- p_dialer_data);
+ g_signal_connect (G_OBJECT (window), "delete_event",
+ G_CALLBACK (gtk_widget_hide_on_delete), NULL);
+ g_signal_connect (G_OBJECT (window), "show",
+ G_CALLBACK (on_window_dialer_show), p_dialer_data);
g_signal_connect (G_OBJECT (window), "hide",
- G_CALLBACK (on_window_dialer_hide),
- p_dialer_data);
+ G_CALLBACK (on_window_dialer_hide), p_dialer_data);
@@ -341,13 +352,13 @@
gtk_widget_set_name (eventbox1, "gtkeventbox-black");
GtkWidget *autolist = moko_dialer_autolist_new ();
- moko_dialer_autolist_set_data (MOKO_DIALER_AUTOLIST (autolist), &(p_dialer_data->g_contactlist));
+ moko_dialer_autolist_set_data (MOKO_DIALER_AUTOLIST (autolist),
+ &(p_dialer_data->g_contactlist));
p_dialer_data->moko_dialer_autolist = MOKO_DIALER_AUTOLIST (autolist);
gtk_container_add (GTK_CONTAINER (eventbox1), autolist);
// gtk_box_pack_start( GTK_BOX(vbox), GTK_WIDGET(autolist), FALSE, FALSE, 5 );
- gtk_box_pack_start (GTK_BOX (vbox), eventbox1, FALSE, FALSE,
- 0);
+ gtk_box_pack_start (GTK_BOX (vbox), eventbox1, FALSE, FALSE, 0);
gtk_widget_modify_bg (eventbox1, GTK_STATE_NORMAL, &color);
@@ -373,11 +384,11 @@
// gtk_widget_set_size_request (eventbox1, 480, 132);
GtkWidget *mokotextview = moko_dialer_textview_new ();
- p_dialer_data->moko_dialer_text_view = MOKO_DIALER_TEXTVIEW (mokotextview);
+ p_dialer_data->moko_dialer_text_view =
+ MOKO_DIALER_TEXTVIEW (mokotextview);
gtk_container_add (GTK_CONTAINER (eventbox1), mokotextview);
- gtk_box_pack_start (GTK_BOX (vbox), eventbox1, FALSE, FALSE,
- 0);
+ gtk_box_pack_start (GTK_BOX (vbox), eventbox1, FALSE, FALSE, 0);
// gtk_box_pack_start( GTK_BOX(vbox), GTK_WIDGET(mokotextview), FALSE,FALSE, 5 );
@@ -393,8 +404,7 @@
g_signal_connect (GTK_OBJECT (mokodialerpanel), "user_hold",
G_CALLBACK (on_dialer_panel_user_hold), p_dialer_data);
- gtk_box_pack_start (GTK_BOX (hbox), mokodialerpanel, TRUE,
- TRUE, 5);
+ gtk_box_pack_start (GTK_BOX (hbox), mokodialerpanel, TRUE, TRUE, 5);
@@ -405,27 +415,29 @@
g_signal_connect (G_OBJECT (button1), "clicked",
G_CALLBACK (cb_delete_button_clicked), p_dialer_data);
gtk_widget_set_name (button1, "mokofingerbutton-orange");
- moko_pixmap_button_set_center_stock (MOKO_PIXMAP_BUTTON (button1), "gtk-delete");
- moko_pixmap_button_set_action_btn_lower_label (MOKO_PIXMAP_BUTTON (button1), "Delete");
+ moko_pixmap_button_set_center_stock (MOKO_PIXMAP_BUTTON (button1),
+ "gtk-delete");
+ moko_pixmap_button_set_action_btn_lower_label (MOKO_PIXMAP_BUTTON
+ (button1), "Delete");
gtk_widget_set_size_request (button1, WINDOW_DIALER_BUTTON_SIZE_X,
WINDOW_DIALER_BUTTON_SIZE_Y);
- gtk_box_pack_start (GTK_BOX (vbox2), button1, FALSE, FALSE,
- 5);
+ gtk_box_pack_start (GTK_BOX (vbox2), button1, FALSE, FALSE, 5);
GtkWidget *button3 = moko_pixmap_button_new ();
g_signal_connect (G_OBJECT (button3), "clicked",
G_CALLBACK (cb_history_button_clicked), p_dialer_data);
gtk_widget_set_name (button3, "mokofingerbutton-orange");
//moko_pixmap_button_set_center_stock(button3,"gtk-refresh");
- moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON (button3),
+ moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON
+ (button3),
file_new_image_from_relative_path
("all.png"));
- moko_pixmap_button_set_action_btn_lower_label (MOKO_PIXMAP_BUTTON (button3), "History");
+ moko_pixmap_button_set_action_btn_lower_label (MOKO_PIXMAP_BUTTON
+ (button3), "History");
gtk_widget_set_size_request (button3, WINDOW_DIALER_BUTTON_SIZE_X,
WINDOW_DIALER_BUTTON_SIZE_Y);
- gtk_box_pack_start (GTK_BOX (vbox2), button3, FALSE, FALSE,
- 5);
+ gtk_box_pack_start (GTK_BOX (vbox2), button3, FALSE, FALSE, 5);
GtkWidget *button2 = moko_pixmap_button_new ();
@@ -433,15 +445,16 @@
g_signal_connect (G_OBJECT (button2), "clicked",
G_CALLBACK (cb_dialer_button_clicked), p_dialer_data);
gtk_widget_set_name (button2, "mokofingerbutton-black");
- moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON (button2),
+ moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON
+ (button2),
file_new_image_from_relative_path
("phone.png"));
- moko_pixmap_button_set_action_btn_lower_label (MOKO_PIXMAP_BUTTON (button2), "Dial");
+ moko_pixmap_button_set_action_btn_lower_label (MOKO_PIXMAP_BUTTON
+ (button2), "Dial");
gtk_widget_set_size_request (button2, WINDOW_DIALER_BUTTON_SIZE_X + 20,
WINDOW_DIALER_BUTTON_SIZE_Y + 80);
- gtk_box_pack_start (GTK_BOX (vbox2), button2, FALSE, FALSE,
- 20);
+ gtk_box_pack_start (GTK_BOX (vbox2), button2, FALSE, FALSE, 20);
gtk_box_pack_start (GTK_BOX (hbox), vbox2, TRUE, TRUE, 5);
Modified: trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-pin.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-pin.c 2007-02-27 07:40:32 UTC (rev 1146)
+++ trunk/src/target/OM-2007/applications/openmoko-dialer/src/openmoko-dialer-window-pin.c 2007-02-27 08:37:06 UTC (rev 1147)
@@ -31,12 +31,12 @@
void
pin_delete_button_clicked (GtkButton * button, MOKO_DIALER_APP_DATA * appdata)
{
-if(appdata->int_sim_pin_end_point)
-{
+ if (appdata->int_sim_pin_end_point)
+ {
moko_dialer_textview_delete (appdata->moko_pin_text_view);
appdata->int_sim_pin_end_point--;
- appdata->str_sim_pin[appdata->int_sim_pin_end_point]=0;
-}
+ appdata->str_sim_pin[appdata->int_sim_pin_end_point] = 0;
+ }
}
@@ -44,72 +44,69 @@
void
pin_ok_button_clicked (GtkButton * button, MOKO_DIALER_APP_DATA * appdata)
{
- // gchar *codesinput;
+ // gchar *codesinput;
// codesinput =g_strdup(moko_dialer_textview_get_input (appdata->moko_pin_text_view, TRUE));
- if (g_utf8_strlen (appdata->str_sim_pin, -1) <1)
- {
- //user didn't input anything
- DBG_MESSAGE("no input for pin");
- }
- else
- {//here send the pin codes and hide our window.
-
- DBG_MESSAGE("here we send the pin:%s",appdata->str_sim_pin);
+ if (g_utf8_strlen (appdata->str_sim_pin, -1) < 1)
+ {
+ //user didn't input anything
+ DBG_MESSAGE ("no input for pin");
+ }
+ else
+ { //here send the pin codes and hide our window.
+
+ DBG_MESSAGE ("here we send the pin:%s", appdata->str_sim_pin);
//FIXME:why this call will cause segment fault?
lgsm_pin (appdata->lh, appdata->str_sim_pin);
//lgsm_pin (appdata->lh, "1234");
- DBG_MESSAGE("pin:%s sent",appdata->str_sim_pin);
- gtk_widget_hide(appdata->window_pin);
- }
-
+ DBG_MESSAGE ("pin:%s sent", appdata->str_sim_pin);
+ gtk_widget_hide (appdata->window_pin);
+ }
+
}
void
-on_pin_panel_user_input (GtkWidget * widget, gchar parac,
- gpointer user_data)
+on_pin_panel_user_input (GtkWidget * widget, gchar parac, gpointer user_data)
{
char input[2];
input[0] = parac;
input[1] = 0;
-
+
//DBG_TRACE();
MOKO_DIALER_APP_DATA *appdata = (MOKO_DIALER_APP_DATA *) user_data;
MokoDialerTextview *moko_pin_text_view = appdata->moko_pin_text_view;
-if(appdata->int_sim_pin_end_point<MOKO_DIALER_MAX_NUMBER_LEN)
-{
- appdata->str_sim_pin[appdata->int_sim_pin_end_point]=parac;
- appdata->int_sim_pin_end_point++;
- moko_dialer_textview_insert (moko_pin_text_view, "*");
-}
-else
-{
- appdata->str_sim_pin[0]=parac;
- appdata->int_sim_pin_end_point=1;
-}
+ if (appdata->int_sim_pin_end_point < MOKO_DIALER_MAX_NUMBER_LEN)
+ {
+ appdata->str_sim_pin[appdata->int_sim_pin_end_point] = parac;
+ appdata->int_sim_pin_end_point++;
+ moko_dialer_textview_insert (moko_pin_text_view, "*");
+ }
+ else
+ {
+ appdata->str_sim_pin[0] = parac;
+ appdata->int_sim_pin_end_point = 1;
+ }
//DBG_TRACE();
}
void
-on_window_pin_hide (GtkWidget *widget,
- MOKO_DIALER_APP_DATA * appdata)
+on_window_pin_hide (GtkWidget * widget, MOKO_DIALER_APP_DATA * appdata)
{
-appdata->window_present=0;
+ appdata->window_present = 0;
}
void
-on_window_pin_show (GtkWidget *widget,
- MOKO_DIALER_APP_DATA * appdata)
+on_window_pin_show (GtkWidget * widget, MOKO_DIALER_APP_DATA * appdata)
{
-DBG_ENTER();
-appdata->window_present=widget;
+ DBG_ENTER ();
+ appdata->window_present = widget;
-DBG_LEAVE();
+ DBG_LEAVE ();
}
@@ -122,8 +119,8 @@
if (!p_dialer_data->window_pin)
{
- g_stpcpy(p_dialer_data->str_sim_pin,"");
- p_dialer_data->int_sim_pin_end_point=0;
+ g_stpcpy (p_dialer_data->str_sim_pin, "");
+ p_dialer_data->int_sim_pin_end_point = 0;
GdkColor color;
gdk_color_parse ("black", &color);
@@ -131,12 +128,10 @@
MokoFingerWindow *window = MOKO_FINGER_WINDOW (moko_finger_window_new ());
- g_signal_connect ((gpointer) window, "show",
- G_CALLBACK (on_window_pin_show),
- p_dialer_data);
+ g_signal_connect ((gpointer) window, "show",
+ G_CALLBACK (on_window_pin_show), p_dialer_data);
g_signal_connect ((gpointer) window, "hide",
- G_CALLBACK (on_window_pin_hide),
- p_dialer_data);
+ G_CALLBACK (on_window_pin_hide), p_dialer_data);
/* contents */
@@ -145,7 +140,7 @@
GtkEventBox *eventbox1 = gtk_event_box_new ();
- gtk_widget_show (eventbox1);
+ gtk_widget_show (eventbox1);
gtk_widget_set_name (GTK_WIDGET (eventbox1), "gtkeventbox-black");
gtk_widget_modify_bg (eventbox1, GTK_STATE_NORMAL, &color);
// gtk_widget_set_size_request (eventbox1, 480, 132);
@@ -177,11 +172,13 @@
GtkButton *button1 = moko_pixmap_button_new ();
g_signal_connect (G_OBJECT (button1), "clicked",
G_CALLBACK (pin_delete_button_clicked), p_dialer_data);
- gtk_widget_set_name (GTK_WIDGET(button1), "mokofingerbutton-orange");
- moko_pixmap_button_set_center_stock (MOKO_PIXMAP_BUTTON (button1), "gtk-delete");
- moko_pixmap_button_set_action_btn_lower_label (MOKO_PIXMAP_BUTTON (button1), "Delete");
+ gtk_widget_set_name (GTK_WIDGET (button1), "mokofingerbutton-orange");
+ moko_pixmap_button_set_center_stock (MOKO_PIXMAP_BUTTON (button1),
+ "gtk-delete");
+ moko_pixmap_button_set_action_btn_lower_label (MOKO_PIXMAP_BUTTON
+ (button1), "Delete");
// gtk_widget_set_size_request (button1, WINDOW_DIALER_BUTTON_SIZE_X,
- // WINDOW_DIALER_BUTTON_SIZE_Y);
+ // WINDOW_DIALER_BUTTON_SIZE_Y);
gtk_box_pack_start (GTK_BOX (vbox2), GTK_WIDGET (button1), FALSE, FALSE,
5);
@@ -191,12 +188,14 @@
g_signal_connect (G_OBJECT (button2), "clicked",
G_CALLBACK (pin_ok_button_clicked), p_dialer_data);
gtk_widget_set_name (GTK_WIDGET (button1), "mokofingerbutton-orange");
- moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON (button2),
+ moko_pixmap_button_set_finger_toolbox_btn_center_image (MOKO_PIXMAP_BUTTON
+ (button2),
file_new_image_from_relative_path
("phone.png"));
- moko_pixmap_button_set_action_btn_lower_label (MOKO_PIXMAP_BUTTON (button2), "OK");
+ moko_pixmap_button_set_action_btn_lower_label (MOKO_PIXMAP_BUTTON
+ (button2), "OK");
//gtk_widget_set_size_request (button2, WINDOW_DIALER_BUTTON_SIZE_X,
- // WINDOW_DIALER_BUTTON_SIZE_Y);
+ // WINDOW_DIALER_BUTTON_SIZE_Y);
gtk_box_pack_start (GTK_BOX (vbox2), GTK_WIDGET (button2), FALSE, FALSE,
20);
@@ -211,12 +210,12 @@
moko_finger_window_set_contents (window, GTK_WIDGET (vbox));
- p_dialer_data->window_pin= window;
+ p_dialer_data->window_pin = window;
gtk_widget_show_all (GTK_WIDGET (window));
- gtk_widget_hide(GTK_WIDGET (window));
-
+ gtk_widget_hide (GTK_WIDGET (window));
+
}
return 1;
More information about the commitlog
mailing list