~ubuntu-branches/ubuntu/oneiric/cairo-dock/oneiric

« back to all changes in this revision

Viewing changes to src/gldit/cairo-dock-dialog-manager.c

  • Committer: Bazaar Package Importer
  • Author(s): Matthieu Baerts (matttbe)
  • Date: 2010-09-07 20:31:25 UTC
  • mto: (18.1.1 cairo-dock) (19.1.1 cairo-dock)
  • mto: This revision was merged to the branch mainline in revision 14.
  • Revision ID: james.westby@ubuntu.com-20100907203125-a91ch8odv2r6ziic
Tags: upstream-2.2.0~0rc1
ImportĀ upstreamĀ versionĀ 2.2.0~0rc1

Show diffs side-by-side

added added

removed removed

Lines of Context:
154
154
        GdkEventCrossing* pEvent,
155
155
        CairoDialog *pDialog)
156
156
{
 
157
        Icon *pIcon = pDialog->pIcon;
157
158
        int iMouseX, iMouseY;
158
159
        gdk_window_get_pointer (pDialog->container.pWidget->window, &iMouseX, &iMouseY, NULL);
159
 
        if (iMouseX > 0 && iMouseX < pDialog->container.iWidth && iMouseY > 0 && iMouseY < pDialog->container.iHeight)
 
160
        
 
161
        if (iMouseX > 0 && iMouseX < pDialog->container.iWidth && iMouseY > 0 && iMouseY < pDialog->container.iHeight && pDialog->pInteractiveWidget != NULL)  // en fait on est dedans (peut arriver si le dialogue a un widget a l'interieur).
160
162
        {
161
 
                cd_debug ("en fait on est dedans");
162
 
                return FALSE;
 
163
                if (pIcon != NULL)
 
164
                {
 
165
                        CairoContainer *pContainer = cairo_dock_search_container_from_icon (pIcon);
 
166
                        if (!pContainer || !pContainer->bInside)  // peut arriver dans le cas d'un dock cache possedant un dialogue. Initialement les 2 se chevauchent, il faut considerer qu'on est hors du dialogue afin de pouvoir le replacer.
 
167
                        {
 
168
                                //g_print ("en fait on est dedans\n");
 
169
                                return FALSE;
 
170
                        }
 
171
                        //else
 
172
                        //      g_print ("leave dialog\n");
 
173
                }
163
174
        }
164
175
        
165
176
        //g_print ("leave\n");
166
177
        //cd_debug ("outside (%d;%d / %dx%d)", iMouseX, iMouseY, pDialog->container.iWidth, pDialog->container.iHeight);
167
178
        pDialog->container.bInside = FALSE;
168
 
        Icon *pIcon = pDialog->pIcon;
 
179
        
169
180
        if (pIcon != NULL /*&& (pEvent->state & GDK_BUTTON1_MASK) == 0*/)
170
181
        {
171
182
                pDialog->container.iMouseX = pEvent->x_root;