Diff for /rpl/src/encart.c between versions 1.62 and 1.63

version 1.62, 2017/08/23 09:29:15 version 1.63, 2017/08/23 20:29:29
Line 29 Line 29
 #   include <X11/extensions/Xinerama.h>  #   include <X11/extensions/Xinerama.h>
 #endif  #endif
   
   static logical1
   valeur_erreur(logical1 nouvelle_valeur)
   {
       static logical1 erreur = d_faux;
       logical1        registre;
   
       registre = erreur;
       erreur = nouvelle_valeur;
       return(registre);
   }
   
 static int  static int
 _XlibErrorHandler(Display *display, XErrorEvent *event)  _XlibErrorHandler(Display *display, XErrorEvent *event)
 {  {
       valeur_erreur(d_vrai);
     uprintf("An error occured detecting the mouse position\n");      uprintf("An error occured detecting the mouse position\n");
     return True;      return True;
 }  }
Line 154  encart(struct_processus *s_etat_processu Line 166  encart(struct_processus *s_etat_processu
                 XmNbackground, &couleur_arriere_plan,                  XmNbackground, &couleur_arriere_plan,
                 NULL);                  NULL);
   
         if ((erreur = XCreatePixmapFromData(XtDisplay(form),          if ((erreur = XpmCreatePixmapFromData(XtDisplay(form),
                 DefaultRootWindow(XtDisplay(form)), rpl_xpm,                  DefaultRootWindow(XtDisplay(form)), rpl_xpm,
                 &pixmap_rpl, &pixmap_rpl_masque, NULL)) != 0)                  &pixmap_rpl, &pixmap_rpl_masque, NULL)) != 0)
         {          {
Line 190  encart(struct_processus *s_etat_processu Line 202  encart(struct_processus *s_etat_processu
   
             ts = XineramaQueryScreens(display, &ns);              ts = XineramaQueryScreens(display, &ns);
   
             XSetErrorHandler(_XlibErrorHandler);              //XSetErrorHandler(_XlibErrorHandler);
             nb_screens = XScreenCount(display);              nb_screens = XScreenCount(display);
   
             root_windows = sys_malloc(((unsigned) nb_screens) * sizeof(Window));              root_windows = sys_malloc(((unsigned) nb_screens) * sizeof(Window));
Line 202  encart(struct_processus *s_etat_processu Line 214  encart(struct_processus *s_etat_processu
   
             for(i = 0; i < nb_screens; i++)              for(i = 0; i < nb_screens; i++)
             {              {
                 if ((mouse_found = XQueryPointer(display, root_windows[i],                  valeur_erreur(d_faux);
                         &window_returned, &window_returned,  
                         &root_x, &root_y, &win_x, &win_y, &mask_return))                  do
                         == True)                  {
                       mouse_found = XQueryPointer(display, root_windows[i],
                               &window_returned, &window_returned,
                               &root_x, &root_y, &win_x, &win_y, &mask_return);
                   } while(valeur_erreur(d_faux) == d_vrai);
   
                   if (mouse_found == True)
                 {                  {
                     break;                      break;
                 }                  }

Removed from v.1.62  
changed lines
  Added in v.1.63


CVSweb interface <joel.bertrand@systella.fr>