cairo-dock-team team mailing list archive
-
cairo-dock-team team
-
Mailing list archive
-
Message #03041
[Branch ~ubuntu-branches/ubuntu/maverick/cairo-dock-plug-ins/maverick] Rev 13: * New Upstream Version (LP: #653702)
Merge authors:
Matthieu Baerts (matttbe)
------------------------------------------------------------
revno: 13 [merge]
tags: 2.2.0~4-0ubuntu1
fixes bug(s): https://launchpad.net/bugs/653702 https://launchpad.net/bugs/653336
author: Matthieu Baerts (matttbe) <matttbe@xxxxxxxxx>
committer: Bazaar Package Importer <james.westby@xxxxxxxxxx>
branch nick: maverick
timestamp: Sat 2010-10-02 22:10:47 +0200
message:
* New Upstream Version (LP: #653702)
* Fixed a few bugs:
- All .mo files aren't installed into the right directory (LP: #653336)
- Dbus: Fixed a crash when exiting Cairo-Dock
- Indicator: Some modifications needed for the latest
version of libindicator
- RSSreader: Prevented a crash if myDrawContext != NULL
- Clock: Prevented a crash if myDrawContext != NULL
- Switcher:
- Prevented a crash if myDrawContext != NULL
- Fixed a crash if the plugin is launched much time before the WM
- musicPlayer:
- Used the right image set from the config panel
- MPRIS plugin: fixed a bug with the tracknumber
- Systray: not drawn outside the screen.
- tomboy: not popup a dialogue inside the screen
- xfce-integration: displayed a window when logout applet is launched
* debian/control:
- Updated the version of cairo-dock-dev and cairo-dock-core
modified:
CMakeLists.txt
Dbus/src/applet-dbus.c
Dbus/src/interface-applet-object.c
Indicator-applet/indicator-applet.c
RSSreader/src/applet-draw.c
clock/src/applet-draw.c
debian/changelog
debian/control
musicPlayer/src/applet-draw.c
musicPlayer/src/applet-mpris.c
netspeed/data/netspeed
switcher/src/applet-draw.c
systray/src/systray-init.c
tomboy/src/tomboy-notifications.c
xfce-integration/src/applet-utils.c
--
lp:ubuntu/maverick/cairo-dock-plug-ins
https://code.launchpad.net/~ubuntu-branches/ubuntu/maverick/cairo-dock-plug-ins/maverick
Your team Cairo-Dock Team is subscribed to branch lp:ubuntu/maverick/cairo-dock-plug-ins.
To unsubscribe from this branch go to https://code.launchpad.net/~ubuntu-branches/ubuntu/maverick/cairo-dock-plug-ins/maverick/+edit-subscription
=== modified file 'CMakeLists.txt'
--- CMakeLists.txt 2010-09-18 14:20:27 +0000
+++ CMakeLists.txt 2010-10-02 20:10:47 +0000
@@ -10,7 +10,7 @@
########### project ###############
project ("cairo-dock-plugins")
-set (VERSION "2.2.0-2")
+set (VERSION "2.2.0-4")
add_definitions (-std=c99 -Wstrict-prototypes -Wextra -Wwrite-strings -Wuninitialized -Werror-implicit-function-declaration) #-Wunreachable-code -Wno-unused-parameter -Wall
if (NOT ${CMAKE_BUILD_TYPE})
@@ -45,32 +45,33 @@
set (PACKAGE ${CMAKE_PROJECT_NAME})
set (GETTEXT_PACKAGE ${PACKAGE})
+ # CMAKE_INSTALL_PREFIX = /usr
execute_process(
- COMMAND pkg-config cairo-dock --variable=pluginsdir
+ COMMAND pkg-config cairo-dock --variable=pluginsdir # /usr/lib/cairo-dock
OUTPUT_VARIABLE pluginsdir)
STRING (REGEX REPLACE "\n" "" pluginsdir ${pluginsdir}) # la commande rajoute un retour chariot ...
execute_process(
- COMMAND pkg-config cairo-dock --variable=pluginsdatadir
+ COMMAND pkg-config cairo-dock --variable=pluginsdatadir # /usr/share/cairo-dock/plug-ins
OUTPUT_VARIABLE pluginsdatadir)
STRING (REGEX REPLACE "\n" "" pluginsdatadir ${pluginsdatadir})
execute_process(
- COMMAND pkg-config --modversion cairo-dock
+ COMMAND pkg-config --modversion cairo-dock # 2.2.0-3
OUTPUT_VARIABLE dock_version)
STRING (REGEX REPLACE "\n" "" dock_version ${dock_version})
-if (NOT "${dock_version}" STREQUAL "${VERSION}")
+if (NOT "${dock_version}" STREQUAL "${VERSION}") # Version
MESSAGE (FATAL_ERROR "warning : version mismatch with the core : " ${VERSION} <> ${dock_version})
endif()
set (GETTEXT_PLUGINS "cairo-dock-plugins")
if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT "${FORCE_LIB64}" STREQUAL "") # 64bits and force install in lib64
- set (libdir ${prefix}/lib64)
+ set (libdir ${CMAKE_INSTALL_PREFIX}/lib64)
else()
- set (libdir ${prefix}/lib${LIB_SUFFIX})
+ set (libdir ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}) # /usr/lib
endif()
-if (NOT "${pluginsdir}" STREQUAL "${CMAKE_INSTALL_PREFIX}/${libdir}")
- message (STATUS "Warning : plug-ins should be installed in the same place asthe dock, that is to say in ${pluginsdir}")
- STRING (REGEX REPLACE "/${libdir}" "" CMAKE_INSTALL_PREFIX ${pluginsdir})
+if (NOT "${pluginsdir}" STREQUAL "${libdir}/cairo-dock")
+ message (STATUS "Warning : plug-ins should be installed in the same directory as the core, that is to say in ${pluginsdir}")
+ STRING (REGEX REPLACE "/${libdir}/cairo-dock" "" CMAKE_INSTALL_PREFIX ${pluginsdir})
endif()
set (localedir "${CMAKE_INSTALL_PREFIX}/share/locale")
set (gaugesdir "${CMAKE_INSTALL_PREFIX}/share/cairo-dock/gauges")
=== modified file 'Dbus/src/applet-dbus.c'
--- Dbus/src/applet-dbus.c 2010-09-18 14:20:27 +0000
+++ Dbus/src/applet-dbus.c 2010-10-02 20:10:47 +0000
@@ -282,9 +282,13 @@
}
}
if (pDbusApplet->pSubApplet != NULL)
+ {
g_object_unref (pDbusApplet->pSubApplet);
- g_object_unref (pDbusApplet);
+ pDbusApplet->pSubApplet = NULL;
+ }
+ ///g_object_unref (pDbusApplet);
}
+ g_list_foreach (myData.pAppletList, (GFunc)g_object_unref, NULL);
g_list_free (myData.pAppletList);
myData.pAppletList = NULL;
=== modified file 'Dbus/src/interface-applet-object.c'
--- Dbus/src/interface-applet-object.c 2010-08-10 00:05:57 +0000
+++ Dbus/src/interface-applet-object.c 2010-10-02 20:10:47 +0000
@@ -78,7 +78,7 @@
for (a = myData.pAppletList; a != NULL; a = a->next)
{
pDbusApplet = a->data;
- if (strcmp (cModuleName, pDbusApplet->cModuleName) == 0)
+ if (pDbusApplet->cModuleName && strcmp (cModuleName, pDbusApplet->cModuleName) == 0)
break ;
}
return (a ? pDbusApplet : NULL);
@@ -92,7 +92,7 @@
for (a = myData.pAppletList; a != NULL; a = a->next)
{
pDbusApplet = a->data;
- if (strcmp (cModuleName, pDbusApplet->cModuleName) == 0)
+ if (pDbusApplet->cModuleName && strcmp (cModuleName, pDbusApplet->cModuleName) == 0)
break ;
}
myData.pAppletList = g_list_delete_link (myData.pAppletList, a);
=== modified file 'Indicator-applet/indicator-applet.c'
--- Indicator-applet/indicator-applet.c 2010-09-07 02:38:17 +0000
+++ Indicator-applet/indicator-applet.c 2010-10-02 20:10:47 +0000
@@ -123,7 +123,7 @@
g_object_unref (pIndicator->pServiceProxy);
g_print ("destroy menu...\n");
if (pIndicator->pMenu)
- g_object_ref_sink (pIndicator->pMenu);
+ g_object_unref (pIndicator->pMenu);
g_print ("done.\n");
g_free (pIndicator);
}
@@ -140,14 +140,30 @@
if (cStatusIcon == NULL)
return;
- gchar *cIconPath = cairo_dock_search_icon_s_path (cStatusIcon);
+ const gchar *cIconName = cStatusIcon;
+ gchar *tmp_icon_name = NULL;
+ gchar *cIconPath = cairo_dock_search_icon_s_path (cIconName); // on regarde si l'icone sera trouvee.
gchar *cIconPathFallback = NULL;
+ if (cIconPath == NULL) // l'icone ne sera pas trouvee, on regarde si ce n'est pas une icone en carton d'Ubuntu.
+ {
+ gchar *str = g_strstr_len (cIconName, -1, "-panel");
+ if (str)
+ {
+ tmp_icon_name = g_strndup (cIconName, str - cIconName);
+ cIconName = tmp_icon_name;
+ cIconPath = cairo_dock_search_icon_s_path (cIconName);
+ }
+ }
if (cIconPath == NULL) // l'icone ne sera pas trouvee, on met une icone par defaut.
- cIconPathFallback = g_strdup_printf ("%s/%s.svg", myApplet->pModule->pVisitCard->cShareDataDir, cStatusIcon);
-
- g_print ("set %s\n", cIconPathFallback ? cIconPathFallback : cStatusIcon);
- CD_APPLET_SET_IMAGE_ON_MY_ICON (cIconPathFallback ? cIconPathFallback : cStatusIcon);
-
+ {
+ gboolean bAddSuffix = (!g_str_has_suffix (cIconName, ".png") && !g_str_has_suffix (cIconName, ".svg"));
+ cIconPathFallback = g_strdup_printf ("%s/%s%s", myApplet->pModule->pVisitCard->cShareDataDir, cIconName, bAddSuffix ? ".svg" : "");
+ }
+
+ g_print ("set %s\n", cIconPathFallback ? cIconPathFallback : cIconName);
+ CD_APPLET_SET_IMAGE_ON_MY_ICON (cIconPathFallback ? cIconPathFallback : cIconName);
+
+ g_free (tmp_icon_name);
g_free (cIconPath);
g_free (cIconPathFallback);
}
=== modified file 'RSSreader/src/applet-draw.c'
--- RSSreader/src/applet-draw.c 2010-08-10 00:05:57 +0000
+++ RSSreader/src/applet-draw.c 2010-10-02 20:10:47 +0000
@@ -30,6 +30,7 @@
{
if (iWidth < 20 || iHeight < 20) // inutile de dessiner tant que le desklet n'a pas atteint sa taille definitive.
return;
+ g_return_if_fail (myDrawContext != NULL);
cd_debug ("%s (%dx%d)", __func__, iWidth, iHeight);
PangoLayout *pLayout = pango_cairo_create_layout (myDrawContext);
PangoRectangle ink, log;
=== modified file 'clock/src/applet-draw.c'
--- clock/src/applet-draw.c 2010-09-18 14:20:27 +0000
+++ clock/src/applet-draw.c 2010-10-02 20:10:47 +0000
@@ -36,6 +36,7 @@
void cd_clock_draw_text (CairoDockModuleInstance *myApplet, int iWidth, int iHeight, struct tm *pTime)
{
+ g_return_if_fail (myDrawContext != NULL);
cairo_dock_erase_cairo_context (myDrawContext);
if (myData.pNumericBgSurface != NULL)
{
@@ -191,6 +192,7 @@
void cd_clock_draw_analogic (CairoDockModuleInstance *myApplet, int iWidth, int iHeight, struct tm *pTime)
{
+ g_return_if_fail (myDrawContext != NULL);
//g_print ("%s (%dx%d)\n", __func__, width, height);
cairo_t *pSourceContext = myDrawContext;
double fHalfX;
=== modified file 'debian/changelog'
--- debian/changelog 2010-09-18 14:20:27 +0000
+++ debian/changelog 2010-10-02 20:10:47 +0000
@@ -1,3 +1,27 @@
+cairo-dock-plug-ins (2.2.0~4-0ubuntu1) maverick; urgency=low
+
+ * New Upstream Version (LP: #653702)
+ * Fixed a few bugs:
+ - All .mo files aren't installed into the right directory (LP: #653336)
+ - Dbus: Fixed a crash when exiting Cairo-Dock
+ - Indicator: Some modifications needed for the latest
+ version of libindicator
+ - RSSreader: Prevented a crash if myDrawContext != NULL
+ - Clock: Prevented a crash if myDrawContext != NULL
+ - Switcher:
+ - Prevented a crash if myDrawContext != NULL
+ - Fixed a crash if the plugin is launched much time before the WM
+ - musicPlayer:
+ - Used the right image set from the config panel
+ - MPRIS plugin: fixed a bug with the tracknumber
+ - Systray: not drawn outside the screen.
+ - tomboy: not popup a dialogue inside the screen
+ - xfce-integration: displayed a window when logout applet is launched
+ * debian/control:
+ - Updated the version of cairo-dock-dev and cairo-dock-core
+
+ -- Matthieu Baerts (matttbe) <matttbe@xxxxxxxxx> Sat, 02 Oct 2010 20:10:47 +0200
+
cairo-dock-plug-ins (2.2.0~2-0ubuntu1) maverick; urgency=low
[ Matthieu Baerts (matttbe) ]
=== modified file 'debian/control'
--- debian/control 2010-09-18 14:20:27 +0000
+++ debian/control 2010-10-02 20:10:47 +0000
@@ -15,8 +15,8 @@
libxml2-dev,
libxtst-dev,
libglib2.0-dev (>= 2.20),
- cairo-dock-dev (>= 2.2.0~2),
- cairo-dock-core (>= 2.2.0~2),
+ cairo-dock-dev (>= 2.2.0~4),
+ cairo-dock-core (>= 2.2.0~4),
libasound2-dev,
libvte-dev,
x11proto-xf86vidmode-dev,
=== modified file 'musicPlayer/src/applet-draw.c'
--- musicPlayer/src/applet-draw.c 2010-09-07 02:38:17 +0000
+++ musicPlayer/src/applet-draw.c 2010-10-02 20:10:47 +0000
@@ -367,22 +367,25 @@
{
g_return_if_fail (iStatus < PLAYER_NB_STATUS);
gboolean bUse3DTheme = (CD_APPLET_MY_CONTAINER_IS_OPENGL && myConfig.bOpenglThemes);
- const gchar **cIconName = (bUse3DTheme ? s_cDefaultIconName3D : s_cDefaultIconName);
cairo_surface_t *pSurface = myData.pSurfaces[iStatus];
if (pSurface == NULL) // surface pas encore chargee.
{
- if (myConfig.cUserImage[iStatus] != NULL) {
- gchar *cUserImagePath = cairo_dock_generate_file_path (myConfig.cUserImage[iStatus]);
- myData.pSurfaces[iStatus] = CD_APPLET_LOAD_SURFACE_FOR_MY_APPLET (cUserImagePath);
+ gchar *cUserIcon = myConfig.cUserImage[iStatus];
+ if (cUserIcon != NULL) // l'utilisateur a defini une icone perso pour ce statut => on essaye de la charger.
+ {
+ gchar *cUserImagePath = cairo_dock_search_icon_s_path (cUserIcon);
+ myData.pSurfaces[iStatus] = CD_APPLET_LOAD_SURFACE_FOR_MY_APPLET (cUserImagePath ? cUserImagePath : cUserIcon); // si on a trouve une icone, on la prend, sinon on considere le fichier comme une image.
g_free (cUserImagePath);
}
- else {
- gchar *cImagePath = g_strdup_printf ("%s/%s", MY_APPLET_SHARE_DATA_DIR, cIconName[iStatus]);
+ if (myData.pSurfaces[iStatus] == NULL) // pas d'icone perso pour ce statut, ou l'icone specifiee n'a pas ete trouvee ou pas ete chargee => on prend l'icone par defaut.
+ {
+ const gchar **cIconName = (bUse3DTheme ? s_cDefaultIconName3D : s_cDefaultIconName);
+ gchar *cImagePath = g_strdup_printf (MY_APPLET_SHARE_DATA_DIR"/%s", cIconName[iStatus]);
myData.pSurfaces[iStatus] = CD_APPLET_LOAD_SURFACE_FOR_MY_APPLET (cImagePath);
g_free (cImagePath);
}
- if (bUse3DTheme)
+ if (bUse3DTheme) // si on utilise un theme 3D, il faut aussi charger la nouvelle texture, et lancer une transition avec la precedente.
{
if (myData.iPrevTextureCover != 0)
_cairo_dock_delete_texture (myData.iPrevTextureCover);
@@ -399,9 +402,9 @@
CD_APPLET_REDRAW_MY_ICON;
}
}
- else
+ else // pas de theme 3D, on applique juste la surface du statut.
{
- CD_APPLET_SET_SURFACE_ON_MY_ICON(myData.pSurfaces[iStatus]);
+ CD_APPLET_SET_SURFACE_ON_MY_ICON (myData.pSurfaces[iStatus]);
}
}
else // surface en memoire.
=== modified file 'musicPlayer/src/applet-mpris.c'
--- musicPlayer/src/applet-mpris.c 2010-09-07 02:38:17 +0000
+++ musicPlayer/src/applet-mpris.c 2010-10-02 20:10:47 +0000
@@ -345,14 +345,24 @@
}
cd_message (" cTitle <- %s", myData.cTitle);
- /**value = (GValue *) g_hash_table_lookup(data_list, "tracknumber");
+ value = (GValue *) g_hash_table_lookup(data_list, "tracknumber");
if (value == NULL)
value = (GValue *) g_hash_table_lookup(data_list, "track-number"); // au cas ou
- if (value != NULL && G_VALUE_HOLDS_INT(value))
- myData.iTrackNumber = g_value_get_int(value);
+ if (value != NULL)
+ {
+ if (G_VALUE_HOLDS_INT (value)) // amarok
+ myData.iTrackNumber = g_value_get_int (value);
+ else if (G_VALUE_HOLDS_UINT (value))
+ myData.iTrackNumber = g_value_get_uint (value);
+ else if (G_VALUE_HOLDS_STRING (value)) // qmmp
+ {
+ const gchar *s = g_value_get_string (value);
+ myData.iTrackNumber = (s ? atoi(s) : 0);
+ }
+ }
else
myData.iTrackNumber = 0;
- cd_message (" iTrackNumber <- %d", myData.iTrackNumber);*/
+ cd_message (" iTrackNumber <- %d", myData.iTrackNumber);
myData.iSongLength = 0;
value = (GValue *) g_hash_table_lookup(data_list, "mtime"); // duree en ms.
=== modified file 'netspeed/data/netspeed'
--- netspeed/data/netspeed 2010-08-10 00:05:57 +0000
+++ netspeed/data/netspeed 2010-10-02 20:10:47 +0000
@@ -1,4 +1,4 @@
- #!/bin/bash
+#!/bin/bash
# Compiz check for Cairo-Dock
#
=== modified file 'switcher/src/applet-draw.c'
--- switcher/src/applet-draw.c 2010-09-07 02:38:17 +0000
+++ switcher/src/applet-draw.c 2010-10-02 20:10:47 +0000
@@ -127,6 +127,7 @@
void cd_switcher_draw_main_icon_compact_mode (void)
{
g_return_if_fail (myData.switcher.iNbColumns != 0 && myData.switcher.iNbLines != 0);
+ g_return_if_fail (myDrawContext != NULL);
//g_print ("%s (%d;%d)\n", __func__, myData.switcher.iCurrentLine, myData.switcher.iCurrentColumn);
// On efface l'icone.
cairo_dock_erase_cairo_context (myDrawContext);
@@ -524,66 +525,72 @@
cairo_dock_get_icon_extent (pIcon, NULL, &iWidth, &iHeight);
// on cree une copie de la surface de l'icone a la taille du menu.
- int w = 24, h = w;
- cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
- w,
- h);
- cairo_t *pCairoContext = cairo_create (surface);
- cairo_scale (pCairoContext, (double)w/iWidth, (double)h/iHeight);
- cairo_set_source_surface (pCairoContext, pIcon->pIconBuffer, 0., 0.);
- cairo_paint (pCairoContext);
- cairo_destroy (pCairoContext);
- guchar *d, *data = cairo_image_surface_get_data (surface);
- int r = cairo_image_surface_get_stride (surface);
-
- // on la convertit en un pixbuf.
- GdkPixbuf *pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB,
- TRUE,
- 8,
- w,
- h);
- guchar *p, *pixels = gdk_pixbuf_get_pixels (pixbuf);
- int iNbChannels = gdk_pixbuf_get_n_channels (pixbuf);
- int iRowstride = gdk_pixbuf_get_rowstride (pixbuf);
-
- int x, y;
- int red, green, blue;
- float fAlphaFactor;
- for (y = 0; y < h; y ++)
+ GdkPixbuf *pixbuf = NULL;
+ if (iWidth > 0 && iHeight > 0 && pIcon->pIconBuffer != NULL)
{
- for (x = 0; x < w; x ++)
+ int w = 24, h = w;
+ cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24,
+ w,
+ h);
+ cairo_t *pCairoContext = cairo_create (surface);
+ cairo_scale (pCairoContext, (double)w/iWidth, (double)h/iHeight);
+ cairo_set_source_surface (pCairoContext, pIcon->pIconBuffer, 0., 0.);
+ cairo_paint (pCairoContext);
+ cairo_destroy (pCairoContext);
+ guchar *d, *data = cairo_image_surface_get_data (surface);
+ int r = cairo_image_surface_get_stride (surface);
+
+ // on la convertit en un pixbuf.
+ pixbuf = gdk_pixbuf_new (GDK_COLORSPACE_RGB,
+ TRUE,
+ 8,
+ w,
+ h);
+ guchar *p, *pixels = gdk_pixbuf_get_pixels (pixbuf);
+ int iNbChannels = gdk_pixbuf_get_n_channels (pixbuf);
+ int iRowstride = gdk_pixbuf_get_rowstride (pixbuf);
+
+ int x, y;
+ int red, green, blue;
+ float fAlphaFactor;
+ for (y = 0; y < h; y ++)
{
- p = pixels + y * iRowstride + x * iNbChannels;
- d = data + y * r + x * 4;
-
- fAlphaFactor = (float) d[3] / 255;
- if (fAlphaFactor != 0)
- {
- red = d[0] / fAlphaFactor;
- green = d[1] / fAlphaFactor;
- blue = d[2] / fAlphaFactor;
- }
- else
- {
- red = blue = green = 0;
- }
- p[0] = blue;
- p[1] = green;
- p[2] = red;
- p[3] = d[3];
+ for (x = 0; x < w; x ++)
+ {
+ p = pixels + y * iRowstride + x * iNbChannels;
+ d = data + y * r + x * 4;
+
+ fAlphaFactor = (float) d[3] / 255;
+ if (fAlphaFactor != 0)
+ {
+ red = d[0] / fAlphaFactor;
+ green = d[1] / fAlphaFactor;
+ blue = d[2] / fAlphaFactor;
+ }
+ else
+ {
+ red = blue = green = 0;
+ }
+ p[0] = blue;
+ p[1] = green;
+ p[2] = red;
+ p[3] = d[3];
+ }
}
+
+ cairo_surface_destroy (surface);
}
- cairo_surface_destroy (surface);
-
// on ajoute une entree au menu avec le pixbuf.
GtkWidget *pMenuItem = gtk_image_menu_item_new_with_label (pIcon->cName);
- GtkWidget *image = gtk_image_new_from_pixbuf (pixbuf);
- gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (pMenuItem), image);
+ if (pixbuf)
+ {
+ GtkWidget *image = gtk_image_new_from_pixbuf (pixbuf);
+ gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (pMenuItem), image);
+ g_object_unref (pixbuf);
+ }
gtk_menu_shell_append (GTK_MENU_SHELL (pMenu), pMenuItem);
g_signal_connect (G_OBJECT (pMenuItem), "activate", G_CALLBACK (_show_window), pIcon);
-
- g_object_unref (pixbuf);
}
void cd_switcher_build_windows_list (GtkWidget *pMenu)
{
=== modified file 'systray/src/systray-init.c'
--- systray/src/systray-init.c 2010-08-10 00:05:57 +0000
+++ systray/src/systray-init.c 2010-10-02 20:10:47 +0000
@@ -115,7 +115,7 @@
if (myDesklet) // on cloue le desklet.
{
GdkGravity iGravity;
- if (myContainer->iWindowPositionX < g_desktopGeometry.iXScreenWidth[CAIRO_DOCK_HORIZONTAL]/2)
+ if (myContainer->iWindowPositionX < g_desktopGeometry.iScreenWidth[CAIRO_DOCK_HORIZONTAL]/2) // on prend la taille de l'ecran ou il est place plutot que la taille totale, car en general on n'utilise pas un dual-screen comme un seul grand ecran maisplutot comme 2 bureaux.
iGravity = GDK_GRAVITY_NORTH_WEST;
else
iGravity = GDK_GRAVITY_NORTH_EAST;
=== modified file 'tomboy/src/tomboy-notifications.c'
--- tomboy/src/tomboy-notifications.c 2010-09-18 14:20:27 +0000
+++ tomboy/src/tomboy-notifications.c 2010-10-02 20:10:47 +0000
@@ -65,6 +65,13 @@
{
cd_message("tomboy : %s",pClickedIcon->cCommand);
showNote (pClickedIcon->cCommand);
+
+ if (myData.iSidPopupDialog != 0)
+ {
+ g_source_remove (myData.iSidPopupDialog);
+ myData.iSidPopupDialog = 0;
+ }
+ cairo_dock_remove_dialog_if_any (pClickedIcon);
}
else if (pClickedIcon == myIcon && ! myData.bIsRunning) // possible si on l'a quitte apres le demarrage de l'applet.
{
@@ -281,7 +288,7 @@
cairo_dock_remove_dialog_if_any (icon);
}
- if (pIcon->bPointed)
+ if (pIcon && pIcon->bPointed)
{
myData.iSidPopupDialog = g_timeout_add (500, (GSourceFunc)_popup_dialog, pIcon);
}
=== modified file 'xfce-integration/src/applet-utils.c'
--- xfce-integration/src/applet-utils.c 2010-08-10 00:05:57 +0000
+++ xfce-integration/src/applet-utils.c 2010-10-02 20:10:47 +0000
@@ -29,7 +29,7 @@
void env_backend_shutdown (void)
{
- cairo_dock_launch_command ("xfce4-session-logout --halt");
+ cairo_dock_launch_command ("xfce4-session-logout"); // avec les options telles que --halt, la fenetre n'est pas montree.
}
void env_backend_lock_screen (void)