Quellcode durchsuchen

ccmake: Use LSB 4.0 curses API conditionally

Use of 'attr_t' and 'wattr_get' works on LSB but does not seem
portable to other curses versions.
Brad King vor 15 Jahren
Ursprung
Commit
a3de30eed9
1 geänderte Dateien mit 8 neuen und 5 gelöschten Zeilen
  1. 8 5
      Source/CursesDialog/form/frm_driver.c

+ 8 - 5
Source/CursesDialog/form/frm_driver.c

@@ -855,8 +855,6 @@ static int Display_Or_Erase_Field(FIELD * field, bool bEraseFlag)
 {
   WINDOW *win;
   WINDOW *fwin;
-  attr_t fwinAttrs;
-  short  fwinPair;
 
   if (!field)
     return E_SYSTEM_ERROR;
@@ -872,12 +870,17 @@ static int Display_Or_Erase_Field(FIELD * field, bool bEraseFlag)
       if (field->opts & O_VISIBLE)
         Set_Field_Window_Attributes(field,win);
       else
-      {
+        {
+#if defined(__LSB_VERSION__)
         /* getattrs() would be handy, but it is not part of LSB 4.0 */
-        /* wattrset(win,getattrs(fwin)); */
+        attr_t fwinAttrs;
+        short  fwinPair;
         wattr_get(fwin, &fwinAttrs, &fwinPair, 0);
         wattr_set(win, fwinAttrs, fwinPair, 0);
-      }
+#else
+        wattrset(win,getattrs(fwin));
+#endif
+        }
       werase(win);
     }